[PHP/MYSQL] 2 while pour 1 requete mysql
Résolu
MH
-
MH -
MH -
Bonjour,
J'essai d'obtenir 2 tableaux identiques à partir d'une seule requete SQL, et de le sortir dans 2 listes différentes. Impossible d'avoir 2 résultats, et je ne pas faire 2 requêtes MySQL différentes car j'utilise RAND().
Merci de votre aide
J'essai d'obtenir 2 tableaux identiques à partir d'une seule requete SQL, et de le sortir dans 2 listes différentes. Impossible d'avoir 2 résultats, et je ne pas faire 2 requêtes MySQL différentes car j'utilise RAND().
$result = mysql_query("SELECT nom, vote FROM objet ORDER BY RAND() LIMIT 12"); echo '<ul>'; while($ar= mysql_fetch_array($result)){ echo '<li>'. $ar['nom']. '</li>'; } echo "</ul>"; echo '<ul>'; while($ra= mysql_fetch_array($result)){ echo '<li>'. $ra['vote']. '</li>'; } echo "</ul>";
Merci de votre aide
A voir également:
- [PHP/MYSQL] 2 while pour 1 requete mysql
- Supercopier 2 - Télécharger - Gestion de fichiers
- Mysql community server - Télécharger - Bases de données
- Word numéro de page 1/2 - Guide
- 2 ecran pc - Guide
- 1/2 symbole - Guide
7 réponses
Bonjour
Si tu veux parcourir deux fois le résultat de la requête sans la relancer, le plus simple est d'utiliser mysql_data_seek qui ré-initialise le parcours :
Une autre solution serait d'enregistrer les valeurs qui t'intéressent dans un tableau dans ta première boucle, et de faire ta seconde boucle sur ce tableau :
Si tu veux parcourir deux fois le résultat de la requête sans la relancer, le plus simple est d'utiliser mysql_data_seek qui ré-initialise le parcours :
echo '<ul>'; while($ar= mysql_fetch_array($result)){ echo '<li>'. $ar['nom']. '</li>'; } echo "</ul>"; mysql_data_seek($result,0); echo '<ul>'; while($ra= mysql_fetch_array($result)){ echo '<li>'. $ra['vote']. '</li>'; } echo "</ul>";
Une autre solution serait d'enregistrer les valeurs qui t'intéressent dans un tableau dans ta première boucle, et de faire ta seconde boucle sur ce tableau :
$memo=array(); echo '<ul>'; while($ar= mysql_fetch_array($result)){ echo '<li>'. $ar['nom']. '</li>'; $memo[]=$ar['vote']; } echo "</ul>"; echo '<ul>'; foreach ($memo as $ra){ echo '<li>'. $ra. '</li>'; } echo "</ul>";
Bonjour,
ton code ne serais pas plutôt :
$result = mysql_query("SELECT nom, vote FROM objet ORDER BY RAND() LIMIT 12");
echo '<table>';
while($ar= mysql_fetch_array($result)){
echo '<tr>';
echo '<td>'. $ar['nom']. '</td>';
echo '<td>'. $ra['vote']. '</td>';
echo '</tr>';
}
echo "</table>";
Je propose ça mais je ne suis pas sûr que ca te convienne (c'est pour faire avancer le schmilblick ;)
ton code ne serais pas plutôt :
$result = mysql_query("SELECT nom, vote FROM objet ORDER BY RAND() LIMIT 12");
echo '<table>';
while($ar= mysql_fetch_array($result)){
echo '<tr>';
echo '<td>'. $ar['nom']. '</td>';
echo '<td>'. $ra['vote']. '</td>';
echo '</tr>';
}
echo "</table>";
Je propose ça mais je ne suis pas sûr que ca te convienne (c'est pour faire avancer le schmilblick ;)
Ceci est un test, je vois qu'il est indiqué " 1 réponse" mais impossible de la visualisé. EDIT : Et maintenant "2" alors que je ne vois que la mienne...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Stringman621, tu n'as pas fait une réponse mais un commentaire.
Les commentaires mis directement dans la question ne sont pas visibles pour les non inscrits comme MH et moi. C'est une cause très fréquente de malentendus sur CCM
Stringman621, tu n'as pas fait une réponse mais un commentaire.
Les commentaires mis directement dans la question ne sont pas visibles pour les non inscrits comme MH et moi. C'est une cause très fréquente de malentendus sur CCM
Je remet mon message ;)
Bonjour,
ton code ne serais pas plutôt :
$result = mysql_query("SELECT nom, vote FROM objet ORDER BY RAND() LIMIT 12");
echo '<table>';
while($ar= mysql_fetch_array($result)){
echo '<tr>';
echo '<td>'. $ar['nom']. '</td>';
echo '<td>'. $ra['vote']. '</td>';
echo '</tr>';
}
echo "</table>";
Je propose ça mais je ne suis pas sûr que ca te convienne (c'est pour faire avancer le schmilblick ;)
Bonjour,
ton code ne serais pas plutôt :
$result = mysql_query("SELECT nom, vote FROM objet ORDER BY RAND() LIMIT 12");
echo '<table>';
while($ar= mysql_fetch_array($result)){
echo '<tr>';
echo '<td>'. $ar['nom']. '</td>';
echo '<td>'. $ra['vote']. '</td>';
echo '</tr>';
}
echo "</table>";
Je propose ça mais je ne suis pas sûr que ca te convienne (c'est pour faire avancer le schmilblick ;)