Faire 2 fetch_array sur une meme requete

gregou9 Messages postés 44 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 19 décembre 2013 - 19 déc. 2007 à 13:22
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 19 déc. 2007 à 17:28
j'aimerais pour une meme requete faire 2 fois : $aa=mysql_fetch_array($bb);
je m'explik:
- une fois pour l'utiliser pour l'affichage d'informations
- puis un peu plus loin dans un while

--------------------------------------------------------------------------------------------------------------------------

//requete principale
   $req="select a, b, c, d from blablabla where blabla=blabla";
   $reqq=mysql_query($req) or die(mysql_error());
   $rslt=mysql_fetch_array($reqq, MYSQL_ASSOC);
.
.
. AFFICHAGE AVEC $rslt
.
.
while($list=mysql_fetch_array($reqq)){
.
. AFFICHAGE AVEC $list
.
}

--------------------------------------------------------------------------------------------------------------------------

merci d'avance pour vos reponses...

5 réponses

DarkCid Messages postés 195 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 26 octobre 2009 1
19 déc. 2007 à 14:00
tu peu faire deux mysql_query sur la meme requete et ensuite faire un mysql_fetch_array sur des resultats différents

perso je trouve ça idiot de vouloir faire deux fetch array sur la meme requete, je suis sur que tu dois pouvoir optimiser ton code pour tout faire dans la meme boucle, mais bon après je le connais pas ton code
0
gregou9 Messages postés 44 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 19 décembre 2013 1
19 déc. 2007 à 14:04
non, jsui obligé, parce que j'affiche des données avant mon while obligatoirement (qui alimentent mon tableau)...
0
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
19 déc. 2007 à 14:18
Bonjour,

il suffit juste remettre le pointeur du résultat a 0 :

//requete principale
   $req="select a, b, c, d from blablabla where blabla=blabla";
   $reqq=mysql_query($req) or die(mysql_error());
   $rslt=mysql_fetch_array($reqq, MYSQL_ASSOC);
.
.
. AFFICHAGE AVEC $rslt
.
 mysql_data_seek($reqq,0);

while($list=mysql_fetch_array($reqq)){
.
. AFFICHAGE AVEC $list
.
}

Bonne Prog
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 déc. 2007 à 16:02
Hello,

ouais...ou de se reservir de $rslt avant de balancer le while pour l'affichage...plutôt que d'aller chercher 2 fois la même chose.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
19 déc. 2007 à 17:28
Salut,

"non, jsui obligé, parce que j'affiche des données avant mon while obligatoirement (qui alimentent mon tableau)..."

J'ai vraiment du mal à comprendre... Comment peut-on être "obligé" de faire deux itérations sur un résultat ?

Il est TOUJOURS possible de séparer le traitement de l'affichage, et donc, de faire l'intégralité du traitement avant d'afficher le moindre caractère.
Donc, il est TOUJOURS possible de n'itérer qu'une fois sur un résultat d'une requête.

Et si je me plante, je suis curieux de voir le cas qui fait que c'est pas possible...
0
Rejoignez-nous