Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2112 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Exploiter 2 fois un résultat d'une requête

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Exploiter 2 fois un résultat d'une requête

n°912721
Surfoo
Ça va ? ok.
Posté le 02-12-2004 à 10:30:05  profilanswer
 

Bonjour,
 
Voilà je fais une requête et je voudrais l'exploiter 2 fois sans refaire la requête. Si je fais les 2 requête séparement ça fonctionne mais si je fais les 2 en même temps, ça ne fonctionne pas...
 
Voilà le code :

Code :
  1. $i=0;
  2. while($i<=$class->num_rows()) {
  3.  $row=$class->fetch_array();
  4.  $nbPlaceMaxi+=$row['nbplace'];
  5.  $i++;
  6. }
  7. while ($row=$class->fetch_array()) {
  8.  $chiffre=round($row['nbplace']*100/$nbPlaceMaxi, 1);
  9.  echo $chiffre." %<br />";
  10. }


J'ai essayé de réinitialiser le pointeur du tableau $row avec la fonction reset() mais j'ai une erreur..
 
Que faire alors ?  :jap:


Message édité par Surfoo le 03-12-2004 à 00:41:41
mood
Publicité
Posté le 02-12-2004 à 10:30:05  profilanswer
 

n°912840
Scarf3ss3
Posté le 02-12-2004 à 13:28:27  profilanswer
 

mysql_data_seek($row,0);


Message édité par Scarf3ss3 le 02-12-2004 à 13:28:40
n°913137
Surfoo
Ça va ? ok.
Posté le 02-12-2004 à 18:29:46  profilanswer
 

J'ai essayé avec le code en dessous, mais ça ne marche pas  
 

Code :
  1. $i=0;
  2. while($i!=$class->num_rows()) {
  3.  $row=$class->fetch_array();
  4.  $nbPlaceMaxi+=$row['nbplace'];
  5.  $class->data_seek($row, $i);
  6.  $i++;
  7. }
  8. echo $nbPlaceMaxi;
  9. while ($row=$class->fetch_array()) {
  10.  $chiffre=round($row['nbplace']*100/$nbPlaceMaxi, 1);
  11.  echo $chiffre." %<br />";
  12. }


et la fonction :

Code :
  1. function data_seek($row, $ligne) {
  2.  return mysql_data_seek($row, $ligne);
  3. }


 
et j'ai comme erreur :
 
Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource [...] (qui pointe sur : return mysql_data_seek($row, $ligne); )


Message édité par Surfoo le 02-12-2004 à 18:32:26
n°913156
naceroth
Posté le 02-12-2004 à 18:52:54  profilanswer
 

le premier argument du mysql_data_seek doit être le dataset, pas une de ses lignes :)

n°913178
Surfoo
Ça va ? ok.
Posté le 02-12-2004 à 19:19:30  profilanswer
 

Qu'est ce que tu appelles le dataset ?  
 
La ligne que m'as donné scarf3ss3, est fausse alors ?  
j'ai regardé la doc sur Nexen pourtant...

n°913183
naceroth
Posté le 02-12-2004 à 19:27:36  profilanswer
 

Non, la ligne est bonne, c'est la variable qu'il utilise qui est fausse. Quand au dataset, c'est ce qui est retourné par un mysql_query.

n°913312
Scarf3ss3
Posté le 02-12-2004 à 22:14:56  profilanswer
 

Oui effectivement naceroth tu as raison mais bon faudrait avoir sa class pour dire quel variable mettre...


Message édité par Scarf3ss3 le 02-12-2004 à 22:15:12
n°913404
naceroth
Posté le 02-12-2004 à 23:55:08  profilanswer
 

scarf3ss3 a écrit :

Oui effectivement naceroth tu as raison mais bon faudrait avoir sa class pour dire quel variable mettre...


 
Tout à fait, c'est un peu pour ça que j'avais pas précisé dans ma réponse :D
 
La seule certitude au vue de l'emploi qu'il en fait, c'est que ce n'est pas $row :)

n°913429
Surfoo
Ça va ? ok.
Posté le 03-12-2004 à 00:17:41  profilanswer
 

Merci, j'ai trouvé grâce à vous.
 
j'ai mis :

Code :
  1. function data_seek($ligne) {
  2. return mysql_data_seek($this->resultat, $ligne);
  3. }


et  

Code :
  1. $class->data_seek(0);

n°913457
Scarf3ss3
Posté le 03-12-2004 à 05:02:33  profilanswer
 

Surfoo elle est surement bien ta class pour tes requetes mais essaye plutot de comprendre avant, tout ce qu'il y a dedans pour que tu saches ce que tu fais...

mood
Publicité
Posté le 03-12-2004 à 05:02:33  profilanswer
 

n°913768
Surfoo
Ça va ? ok.
Posté le 03-12-2004 à 13:22:06  profilanswer
 

C'est moi qui ai écrit la class, c'est juste que je ne savais pas comment utiliser la fonction mysql_data_seek


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Exploiter 2 fois un résultat d'une requête

 

Sujets relatifs
problème de syntaxe avec une requête SQLrequete croisée ??
lire et écrire dans un fichier [résolu]Requete formulaire dans access
[JSP/SERVLET] Sauvegarder une requête pour l'exécuter apres login...comment centrer <div id="page"> ? (résolu)
EJB-QL : Clause where in dynamique [résolu]Requete sql sur plusieurs tables avec nom de la table
Aider moi pour une requeteRequête spéciale
Plus de sujets relatifs à : [Résolu] Exploiter 2 fois un résultat d'une requête


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR