SELECT dans SELECT ?
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41600 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41600 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous !
Je suis dans un petit soucis de compréhension...
Je suis en train de faire un jeu en ligne et les gagnants seront classés en 2 catégories :
Celui qui trouve la Lettre1, Lettre2, Lettre3,Lettre4, Lettre5, Lettre6 et Mot7 gagne le premier lot
Et celui qui trouve soit le Mot7 ou les Lettres(6) gagne le second lot.
Sauf que dans mon second tableau, ceux qui ont trouvés les deux groupes de mots s'affichent... comment les retirer et garder soit ceux qui ont trouvé les Lettre(6), soit ceux qui ont trouvés le Mot7 ?
Je suis dans un petit soucis de compréhension...
Je suis en train de faire un jeu en ligne et les gagnants seront classés en 2 catégories :
Celui qui trouve la Lettre1, Lettre2, Lettre3,Lettre4, Lettre5, Lettre6 et Mot7 gagne le premier lot
Et celui qui trouve soit le Mot7 ou les Lettres(6) gagne le second lot.
Sauf que dans mon second tableau, ceux qui ont trouvés les deux groupes de mots s'affichent... comment les retirer et garder soit ceux qui ont trouvé les Lettre(6), soit ceux qui ont trouvés le Mot7 ?
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <thead> <tr> <td align="center" style="cursor:s-resize">Nom et Prénoms</td> </tr> </thead> <tbody> <?php $MyPDO = $pdo->query("SELECT * FROM table WHERE Pseudo<>'' AND Lettre1='P' AND Lettre2='A' AND Lettre3='Q' AND Lettre4='U' AND Lettre5='E' AND Lettre6='T' OR Lettre7='BONJOUR' ORDER BY NumId ASC LIMIT 20"); while($data = $MyPDO->fetch(PDO::FETCH_ASSOC)){ ?> <tr> <td align="left" valign="middle"> <?php echo nl2br($data["Pseudo"]); ?> - [<?php if($data["Lettre1"]=="P" || $data["Lettre2"]=="A" || $data["Lettre3"]=="Q" || $data["Lettre4"]=="U" || $data["Lettre5"]=="E" || $data["Lettre6"]=="T" || $data["Lettre7"] <> "BONJOUR") {echo "PAQUET";} ?> ] - (<?php if($data["Lettre1"]<>"P" || $data["Lettre2"]<>"A" || $data["Lettre3"]<>"Q" || $data["Lettre4"]<>"U" || $data["Lettre5"]<>"E" || $data["Lettre6"]<>"T" || $data["Lettre7"] == "BONJOUR") {echo "BONJOUR";} ?> ) </td> </tr> <?php ;} ?> </tbody> </table>
A voir également:
- SELECT dans SELECT ?
- Please select boot device - Forum Windows 7
- Reboot and select proper boot device - Forum Windows
- Select boot mode android - Guide
- Reboot and select proper boot device or insert boot media in selected boot device and press a key ✓ - Forum PC portable
- Problème de démarrage - boot device and press a key ✓ - Forum Windows 10
1 réponse
Salut,
D'abord mettre des parenthèses et utiliser XOR qui équivaut à (a AND (NOT b)) OR ((NOT a) and b) :
cdlt
D'abord mettre des parenthèses et utiliser XOR qui équivaut à (a AND (NOT b)) OR ((NOT a) and b) :
SELECT * FROM table WHERE Pseudo<>'' AND ((Lettre1='P' AND Lettre2='A' AND Lettre3='Q' AND Lettre4='U' AND Lettre5='E' AND Lettre6='T') XOR Lettre7='BONJOUR') ORDER BY NumId ASC LIMIT 20
- j'ignore si les parenthèses dans un select d'une chaine php causent soucis
cdlt
Oui oui, ça fonctionne en tout ça avec les parenthèses ! Merci beaucoup !
est valable si a, si b et aussi si a ET b : c'était ton soucis
alors que est valable si a, si b mais pas si a ET b