drupal_fetch_array come tornare indietro?

11 contenuti / 0 new
Ultimo contenuto
drupal_fetch_array come tornare indietro?

Per scorrere i risultati di una query posso usare drupal_fetch_array ma se voglio ritornare all'inizio senza riefettuare la query che funzione posso utilizzare?
Grazie dell'atenzione a chiunque me la conceda;

Ciao,
no penso di aver capito bene la domanda...
immagino che tu abbia:

<?php
$result
= db_query("SELECT * FROM {node}");
while(
$arr =db_fetch_array($result) ) {
  [...]
}
?>

Giusto?

Giusto quello che mi chiedevo quando ho finito di scorrere $result come faccio a scorrerlo nuovamente senza rieffettuare la query?
Ciao e grazie per l'attenzione . Sono nuovo a Drupal :))

reset $result?

grazie :)

Premesso che la soluzione di Pinolo è correttissima, perché non creare un array dei risultati e riusare quello?

Ciao
Marco
--
My blog
Working at @agavee

@mavimo: potrebbe essere una soluzione, però va sempre tenuto conto dell'eventuale carico in memoria.

Ciao :-)

@finex: chiaramente, ma bisogna vedere se ne vale la pena, dato che riazzerado il cursore mi pare che la query venga rieseguita, potrebbe non essere il male minore.

Ciao
Marco
--
My blog
Working at @agavee

@mavimo: sei proprio sicuro? Incuriosito dalla tua risposta ho provato a cercare ma non ho trovato info... però mi interesserebbe approfondire il discorso.

Comunque non si dovrebbe preferire mysql_data_seek() in un caso come questo?

Ciao! :-)

mysql_data_seek() funziona proprio bene grazie mille:)))))))
anche se mi lega al database. Non so se esiste una funzione analoga di drupal indipendente dal database.
Che era ciò che chiedevo all'inizio.

@kulky: in Drupal 7, grazie all'introduzione della libreria PDO, potresti provare ad usare il nuovo:

DatabaseStatementPrefetch::rewind

Per maggiori informazioni guarda qui: http://api.drupal.org/api/drupal/includes--database--prefetch.inc/class/...

Ciao! :-)