JeuWeb - Crée ton jeu par navigateur

Version complète : [Résolu] Requete utilisable 1 seule fois ?
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Bonjour à tous, j'ai une petite question 34

Donc voilà, dans mon jeu, j'ai une requête classique pour récupérer les noms des joueurs à un endroit précis (SELECT nom FROM perso WHERE position=X). Classique. Puis je fais une boucle pour afficher tout ça avec while(mysql_fetch_assoc...) (je simplifie pour aller à l'essentiel).

Sauf que j'ai besoin d'afficher plusieurs fois cette liste mais de manière différente. J'ai donc voulu faire un truc du genre $a=$b=SELECT etc... mais cela ne fonctionne pas. La seule solution que j'ai, c'est de faire plusieurs fois la requête. Je trouve ça un peu dommage et lourd.

Ne puis-je pas faire mieux ?

Je pensais à la limite faire une seule requête, puis je fais le boucle et là je mets dans différentes variables ce que je veux (genre une variable contiendra les différents noms avec un lien vers les fiches, et une autre variable contiendra la liste des <option> avec le nom des persos pour l'autre endroit)

Cette méthode est-elle meilleure ?

PS: Je suis sur du procédural
C'est plutôt simple, en fait.

    Code PHP
$ressource = mysql_query($query);
$characters = array();
while($character = mysql_fetch_assoc($ressource)){
  $characters[] = $character;
}


Ainsi, le tableau $characters contient ce que tu veux et tu peux le réutiliser sans soucis. 2


Sephi-Chan
la solution de sephi-chan est intéressante, si le nombre de personne n'est pas trop élevé

en même temps, quand tu as lancé la requete une fois, elle est en cache, et la lancer une deuxieme fois demande bcp moins de ressources...
Sinon, en utilisant la fonction mysql_data_seek(), tu peux replacer le pointeur au début, et parcourir une seconde fois ton résultat...
(06-23-2009 04:43 PM)nicodd a écrit : [ -> ]Sinon, en utilisant la fonction mysql_data_seek(), tu peux replacer le pointeur au début, et parcourir une seconde fois ton résultat...

+1

C'est ce que j'utilisais avant de passer au système de tableau 7
Merci pour vos réponses rapides. Je me doutais qu'il y avait une solution simple mais je ne trouvais pas 34. Je vais prendre le méthode de Séphi je pense.
Effectivement, je faisais comme Sephi, par contre je ne connaissais pas : mysql_data_seek()!

Très utile, très bon a savoir 16
URLs de référence