Myqsl_fetch_assoc et mysql_data_seek

Signaler
Messages postés
2
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
22 septembre 2007
-
Messages postés
2
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
22 septembre 2007
-
Bonjour,




Comment on utilise les fonction <couleur nom="rouge">myqsl_fetch_assoc </couleur>et <couleur nom="rouge">mysql_data_seek</couleur> à la place de <couleur nom="rouge">mysql_result </couleur>:o  o_O  ? Si y a un moyen d'éviter cette erreur Unable to jump to row 0 sans suprimmer les mysql_result, je suis preneur :-}


 


<?
$requete=mysql_db_query("SELECT * FROM visites WHERE id_cliqueur ='$cliqueur'",$db_link) or die(mysql_error());
 
$teste=mysql_result($requete,0,"id_forets_cliquees");
?>

j'ai essaiyé de faire la même chose mais avec myqsl_fetch_assoc et mysql_data_seek  mais ca marche pas :(  :colere2: :


<?$requete mysql_query("SELECT * FROM visites WHERE id_cliqueur'$cliqueur'",$db_link) or die(mysql_error());
 
for ($i = mysql_num_rows($requete) - 1; $i >= 0; $i--) 
{   
 if (!mysql_data_seek($requete, $i)) 
   {  
       echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n";        
           continue;   
   }   
 if (!($row = mysql_fetch_assoc($requete))) 
   {
                    continue;    
   }  
 
 
$num = mysql_numrows($requete); 
$row = mysql_fetch_assoc($requete); 
$teste = $row['id_forets_cliquees']; 
 
 
continue;
}
?>

4 réponses

Messages postés
35
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
25 août 2008

Alors moi j'ai l'habitude d'utiliser mysql_fetch_assoc s'utilise de cette façon :
<?php
 
// ... lecture du 1er enregistrement
$Resultats = mysql_fetch_assoc($requete);
do
{
   // traitement des résultats 
}while($Resultats = mysql_fetch_assoc($requete));
?>


I'd rather be insulted by you than someone i respect.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

unable to jump to row 0 indique que ta requête ne renvoie aucun résultat.
Quant à ton code, que tu as copié de php.net apparemment, penses bien qu'il va chercher les résultats en partant du dernier, hein...
Ensuite, tu devrais sortir le mysql_num_rows de la boucle.
mysql_data_seek va chercher une ligne et passe à la suivante. IL se déplace.
mysql_fetch_assoc aussi...
mysql_data_seek permet surtout de se balader dans ton jeu de réponse comme tu le veux. Un peu comme si tu te déplaçais dans un fichier avec fseek().
Enfin, tu veux faire quoi au juste...?

@LeNoyauDur : pourquoi do...while, au lieu de while tout simplement...? Là, tu écris une ligne de code en plus.
Messages postés
35
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
25 août 2008

@malalam : En fait je trouve ça plus facile pour le débboggage comme ça. (surtout quand j'ai plusieurs boucles imbriquées). C'est juste une habitude ;)

I'd rather be insulted by you than someone i respect.
Messages postés
2
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
22 septembre 2007

moi je veut juste faire la même chose que "$teste=mysql_result($requete,0,"id_forets_cliquees");" mais sans mysql_result ...

et mon code ne vien pas de php.net ! <_<