login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

MySQL resultset gebruik (Opgelost)

WMP – 11/02/2009 10:00
Weet er iemand hoe je een mysql resultset meerdere malen kan gebruiken zonder dat de query opnieuw uitgevoerd moet worden?

Zie het voorbeeld hieronder. De eerste while doet hij goed maar bij de tweede while is de resultset($result) ineens leeg.

  1. $query = "SELECT * FROM txmembership";
  2. $result = mysql_query( $query) or die (mysql_error());
  3. while($row = mysql_fetch_object($result)){
  4. echo $row->Name;
  5. }
  6.  
  7. echo "<br /> ------------------------------------ <br />";
  8.  
  9. while($row = mysql_fetch_object($result)){
  10. echo $row->Name;
  11. }


5 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

Ontani – 11/02/2009 10:03
En als je nu die resultset in een variabele steekt en dan gewoon met een for each alle rijen binnen die variabele doorloopt.

WMP – 11/02/2009 10:21
Je maar het het probleem is dat mysql_fetch_object en al de rest van die fetch methods gebruikt moeten worden in een while omdat deze werken met een iterator.

Als er een mogelijkheid is om de volledige resultset in een array te steken dan zou het inderdaad moeten gaan.

Ik heb ook al eens geprobeerd de pointer van de resultset te resetten maar zonder succes.

Ontani – 11/02/2009 10:26
ja ik vind het ook jammer dat php geen mogelijkheid heeft om met volledige datasets te werken.

  1. while($row = mysql_fetch_object($result)){
  2. $dataset[] = $row;
  3. }
  4. print_r($dataset);



vervolgens kan je overal $dataset gebruiken.

WMP – 11/02/2009 10:32
Dat zou inderdaad een oplossing zijn Alders maar ik heb een nog eens wat zitten testen en ik heb er een betere gevonden  .

Achter je while zet je het volgende:

  1. mysql_data_seek($result, 0);



Hierdoor zal de pointer van de resultset terug op het eerste record gezet worden. Hierna kan terug een while doen met dezelfde resultset.

Ontani – 11/02/2009 10:34
Komt dus op hetzelfde neer alleen heb je de mogelijkheid om mysql_fetch_object te gebruiken.

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.094s