IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Manque de logique. C'est grave docteur ?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 54
    Points : 30
    Points
    30
    Par défaut Manque de logique. C'est grave docteur ?
    Bonjour,

    Après une heure à galérer sur un même problème (idiot et simple au possible... Enfin je crois), je me décide à venir demander de l'aide pour obtenir un ou plusieurs points de vues différents.

    Voici la structure d'une table de ma bdd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    id
    NOM
    DATE (du type 05-mai) 	
    JOUR  (du type lundi, mardi...)
    PERIODE (du type matin, après-midi, soirée, nuit)	
    ACCREDITATION (choix)
    Je veux simplement placer les nouvelles accréditations à la bonne place, tout en gardant la cohérence des dates.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    245 	NOM1  12-mai 	vendredi 	après-midi 	travail
    533 	NOM2   03-mai 	mercredi 	matin 	dodo
    Comme résultat, j'aimerais quelque chose du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    185 	NOM1  03-mai 	mercredi 	matin   dodo
    744 	NOM2   12-mai 	vendredi 	après-midi 	travail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "UPDATE table SET ACCREDITATION = '$accreditation2' WHERE NOM = '$nom1' and DATE = '$date2' and JOUR = '$jour2' and PERIODE = '$periode2' ";
    $sql2 = "UPDATE table SET ACCREDITATION = '$accreditation1' WHERE NOM = '$nom2' and DATE = '$date1' and JOUR = '$jour1' and PERIODE = '$periode1'";
    Ci-dessus, je veux attribuer les nouvelles accréditations.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql3 = "UPDATE table SET ACCREDITATION = '' WHERE  id = '$id1'";
    $sql4 = "UPDATE table SET ACCREDITATION = '' WHERE  id = '$id2'";
    Et là, je pensais enlever les anciennes accréditations devenues obsolètes.

    Mon résultat : sql3 et sql4 marchent, mais sql et sql2 ne font rien :p

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    salut,
    pas tres claire ton probleme..
    Je veux simplement échanger les accréditations entre deux lignes, tout en gardant la cohérence des dates.
    pourtant, dans l'exemple que tu nous donnes tu as tout modifie sauf le nom, et dans les requetes sql que tu nous donnes aussi, tu ne modifies que l'accreditation...

    note : un UPDATE modifie directement une occurence... ca n'en rajoute pas a ta BDD. il n'y a pas d'ancienne et de nouvelle, puisque c'est la meme.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 54
    Points : 30
    Points
    30
    Par défaut
    Dur d'expliquer un problème de logique quand on en a pas

    Voici à quoi peut ressembler la bdd

    10 nom1 lundi 10-mai matin sport
    11 nom1 lundi 10-mai après-midi " " (vide)
    12 nom1 lundi 10-mai soir manger

    13 nom1 mardi 11-mai matin sortie
    14 nom1 mardi 11-mai après-midi manger
    15 nom1 mardi 11-mai soir " " (vide)


    140 nom2 lundi 10-mai matin " " (vide)
    141 nom2 lundi 10-mai après-midi dodo
    142 nom2 lundi 10-mai soir travail

    143 nom2 mardi 11-mai matin " " (vide)
    144 nom2 mardi 11-mai après-midi plage
    145 nom2 mardi 11-mai soir dodo


    Quoi faire si nom1 désire échanger la sortie du matin du 11 mai avec le dodo de l'après-midi du 10 mai de nom2 ?

    Est-ce qu'il faut faire une condition pour vérifier que les deux personnes ont la zone "libre" pour la demande de l'échange ?

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par jean1190 Voir le message
    Dur d'expliquer un problème de logique quand on en a pas

    Voici à quoi peut ressembler la bdd

    10 nom1 lundi 10-mai matin sport
    11 nom1 lundi 10-mai après-midi " " (vide)
    12 nom1 lundi 10-mai soir manger

    13 nom1 mardi 11-mai matin sortie
    14 nom1 mardi 11-mai après-midi manger
    15 nom1 mardi 11-mai soir " " (vide)


    140 nom2 lundi 10-mai matin " " (vide)
    141 nom2 lundi 10-mai après-midi dodo
    142 nom2 lundi 10-mai soir travail

    143 nom2 mardi 11-mai matin " " (vide)
    144 nom2 mardi 11-mai après-midi plage
    145 nom2 mardi 11-mai soir dodo


    Quoi faire si nom1 désire échanger la sortie du matin du 11 mai avec le dodo de l'après-midi du 10 mai de nom2 ?

    Est-ce qu'il faut faire une condition pour vérifier que les deux personnes ont la zone "libre" pour la demande de l'échange ?
    Si une personne ne peut pas faire 2 choses pendant la même période, cela semble ... logique, non ? Mais il faut vérifier pour les deux AVANT de faire l'échange...

    ERE
    Quand une tête pense seule, elle devient folle.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/05/2014, 19h14
  2. [Conception] Utiliser un tableau, est-ce grave docteur?
    Par Fabrice ROUXEL 1 dans le forum Webdesign & Ergonomie
    Réponses: 6
    Dernier message: 03/04/2007, 14h43
  3. Réponses: 15
    Dernier message: 05/02/2007, 11h21
  4. Réponses: 4
    Dernier message: 04/08/2006, 15h47
  5. Problème mémoire, c'est grave là :/
    Par gamerome dans le forum C++
    Réponses: 6
    Dernier message: 12/08/2005, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo