Domanda

Ho un set di risultati tiro da un database di grandi dimensioni:

$result = mysql_query($sql);

I ciclo tramite questo recordset volta tirare specifici bit di dati e ricevere medie usando while($row = mysql_fetch_array($result)). Più tardi nella pagina, voglio collegare attraverso questo stesso set di record di nuovo e di uscita tutto - ma perché ho usato il set di record precedente, il mio secondo ciclo ritorna nulla.

I finalmente violato intorno a questo ciclo attraverso un secondo recordset identico ($result2 = mysql_query($sql);), ma odio per fare la stessa chiamata SQL due volte. Un modo per ciclo attraverso lo stesso set di dati più volte?

È stato utile?

Soluzione

Usa:

mysql_data_seek($result, 0);

Si ottiene questo "libero", dal momento che è già tamponato.

Come nota a parte, si può fare in modo esplicito una query unbuffered con mysql_unbuffered_query .

Altri suggerimenti

cursori è possibile ottenere questo approccio

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top