Trouver dans un enregistrement 4 numéros dans 4 champs différents [Résolu]

Messages postés
9
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
31 juillet 2006
- - Dernière réponse : PAL59
Messages postés
9
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
31 juillet 2006
- 8 janv. 2006 à 14:03
Bonjour,



J'ai un petit problème :



Je génére 4 numéros entre 0 et 100 aléatoirement :

$n1 = mt_rand(01,99);

$n2 = mt_rand(01,99);

$n3 = mt_rand(01,99);

$n4 = mt_rand(01,99);



dans ma base mysql, j'ai une table avec par exemple 4 champs n1 , n2, n3, et n4



Ce que je souhaite faire :



trouver si dans un enregistrement j'ai les 4 numéros (pas en double) et pas dans l'ordre.



EXEMPLE :



$select = "select * from test where n1=$n1 and n2=$n2 and n3=$n3 and n4=$n4";



--> dans ce cas, n1 doit être = $n1 mais comment faire pour
qu'il cherche n1 parmis $n1,$n2,$n3 et $n4. et pareil pour n2,n3 puis
n4 ?



tout en sachant que je veux qu'il vérifi que n1 ne soit pas égale à n12 ou n3 ou n4.



exemple concret :



$n1 = 10

$n2 = 14

$n3 = 87

$n4 = 74



> si un enregistrement contient (dans les champs n1 , n2, n3 et n4) les numéros 10 , 14, 87,14 alors c'est ok...



Bon voilà, j'espère que j'ai bien expliqué



Merci de l'aide
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29
3
Merci
Salut,

$select = "select * from test where

( n1=$n1 and n2=$n2 and n3=$n3 and n4=$n4 ) OR

( n1=$n1 and n2=$n2 and n3=$n4 and n4=$n3 ) OR

( n1=$n1 and n2=$n3 and n3=$n2 and n4=$n4 ) OR

( n1=$n1 and n2=$n3 and n3=$n4 and n4=$n2 ) OR

( n1=$n1 and n2=$n4 and n3=$n2 and n4=$n3 ) OR

( n1=$n1 and n2=$n4 and n3=$n3 and n4=$n4 ) OR



( n1=$n2 and n2=$n1 and n3=$n3 and n4=$n4 ) OR


( n1=$n2 and n2=$n1 and n3=$n4 and n4=$n3 ) OR

( n1=$n2 and n2=$n3 and n3=$n1 and n4=$n4 ) OR


( n1=$n2 and n2=$n3 and n3=$n4 and n4=$n1 ) OR

( n1=$n2 and n2=$n4 and n3=$n3 and n4=$n1 ) OR


( n1=$n2 and n2=$n4 and n3=$n1 and n4=$n3 ) OR



( n1=$n3 and n2=$n1 and n3=$n2 and n4=$n4 ) OR



( n1=$n3 and n2=$n1 and n3=$n4 and n4=$n2 ) OR

( n1=$n3 and n2=$n2 and n3=$n1 and n4=$n4 ) OR



( n1=$n3 and n2=$n2 and n3=$n4 and n4=$n1 ) OR

( n1=$n3 and n2=$n4 and n3=$n2 and n4=$n1 ) OR



( n1=$n3 and n2=$n4 and n3=$n1 and n4=$n2 ) OR



( n1=$n4 and n2=$n1 and n3=$n3 and n4=$n2 ) OR



( n1=$n4 and n2=$n1 and n3=$n2 and n4=$n3 ) OR

( n1=$n4 and n2=$n3 and n3=$n1 and n4=$n2 ) OR



( n1=$n4 and n2=$n3 and n3=$n2 and n4=$n1 ) OR

( n1=$n4 and n2=$n2 and n3=$n3 and n4=$n1 ) OR



( n1=$n4 and n2=$n2 and n3=$n1 and n4=$n3 )

";


Bon, je te laisse remplacer les " par des ' :)



faut savoir jouer avec les OR et AND... Je crois qu'on peut faire ça avec in, mais c'est chiant à faire...



In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 199 internautes nous ont dit merci ce mois-ci

Commenter la réponse de coucou747
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
3
Merci
Et sur ce genre de requète, je ne peux que te conseiller de faire un mysql_free_result() par la suite :)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 199 internautes nous ont dit merci ce mois-ci

Commenter la réponse de FhX
Messages postés
9
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
31 juillet 2006
0
Merci
Merci vous deux ! vous m'avez bien aider
Commenter la réponse de PAL59