Php 5 Mysql 5 Selection Aleatoire Compliquee
Bonjour,
j'ai une petite question sur laquelle je me prend la tete depuis pas mal de temps, sur php5 avec mysql5.
En effet j'ai besoin d'une selection aleatoire sur plusieures rows, de donees independantes les unes des autres qui retournera un nombre de enregistrements donés.
Concretement le schema est le suivant:
table: NOMS
id | condition | filles | garcons
1 1 NULL Pierre
2 1 Julie NULL
3 1 Sophie Jacques
4 0 Catherine Nicolas
5 1 Anne NULL
il me faut donc une aide sur la requete precise afin que le select selectionne uniquement les rows dont la condition est "1" de façon aleatoire sur les 2 rows "filles" et "garcons" et ne prend pas en compte les enregistrements qui sont "NULL", afin que le retour soit independant les un des autres, soit pour que l'enregistrement puisse etre aleatoirement affiche et limité a 5 enregistrements retournés. Sur ce schema la:
Julie et Pierre
Anne et Jacques
Sophie et Pierre
etc.
J'ai essaye avec ce code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $name_query = mysql_query("select distinct fille, garcon from noms where condition = 1 order by rand() limit 5") or die(mysql_error());
$i = 0;
while ($couples = mysql_fetch_assoc($name_query)){
if($i == 0){
echo '<tr><td align="center" valign="middle">';
}
$i++;
echo $couples['filles'] . ' et ' . $couples['garcons'];
if($i == 5){
$i = 0;
echo '</td></tr>';
}
}
?> |
Mais le probleme c'est que non seulement il me renvoi et affiche aussi les valeurs "NULL" mais en plus la selection n'est pas reelement aleatoire car il met toujours cote a cote les enregistrements qui sont sur la meme ligne dans la base de donee. Or je veux que n'impore quel nom de fille puisse apparaitre avec n'importe quel nom de garçon de façon completement aleatoire a partir du moment oui il rempli la condition "1".