Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    2 cicli while su stessa query

    Ciao a tutti,
    premetto che sono un pò un niubbo in fatto di mysql/php .... ho da sempre un problema sui cicli, evidentemente probema logico.

    Data una determinata query:

    $query_pippo = "SELECT .....";
    $pippo= mysql_query($query_show, $db) or die(mysql_error());
    $row_pippo = mysql_fetch_assoc($pippo);
    $totalRows_pippo = mysql_num_rows($pippo);

    Il mio ciclo nell'html sarà il seguetne

    <?php do { ?>

    Ciao, io sono <?php echo $row_pippo['nick']; ?>
    e mi piace il forum di Html.it.

    <?php } while ($row_show = mysql_fetch_assoc($pippo); } ?>


    Ora, se io volessi usare gli stessi dati di questo ciclo su un'altra zona della pagina,
    ripeterlo quindi altrove, non mi funziona.

    Il ciclo while quindi non può essere utilizzato 2 volte? Devo fare un'altra query?



    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Una query la devi fare per forza. E fin qui ci siamo.
    Quando fai la prima query, nel ciclo while salvi i dati in un array, cosicchè la seconda, terza... centesima volta che vuoi stampare il risultato della query sulla pagina, cicli l'array.

  3. #3
    O salvi il resultset in un array oppure resetti il cursore e lo riporti alla posizione iniziale:

    Codice PHP:
    mysql_data_seek($pippo0); 
    Per il funzionamento guarda mysql_data_seek()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Originariamente inviato da satifal
    O salvi il resultset in un array oppure resetti il cursore e lo riporti alla posizione iniziale:

    Codice PHP:
    mysql_data_seek($pippo0); 
    Per il funzionamento guarda mysql_data_seek()
    In questo caso però non devi uscire dal ciclo. A che serve quindi?

  5. #5
    L'operazione può essere effettuata benissimo fuori dal ciclo, finchè si ha il resultset è sempre possibile modificare la posizione del cursore a piacere. Ovviamente questo finchè il resultset non viene chiuso, al completamento dello script oppure con l'apposita istruzione.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    A meno che il resultset non sia enorme, tanto da dare problemi di memoria volendolo salvare in un array (caso comunque piuttosto raro), la soluzione di Dirk Pitt e' la piu' corretta.

  7. #7
    Ringrazio intanto tutti per gli interventi.


    Originariamente inviato da Dirk Pitt
    Una query la devi fare per forza. E fin qui ci siamo.
    Quando fai la prima query, nel ciclo while salvi i dati in un array, cosicchè la seconda, terza... centesima volta che vuoi stampare il risultato della query sulla pagina, cicli l'array.
    C'è un esempio in rete che posso cercare o qui sul forum?

    Giusto per capire come fare il while, ma soprattutto, come ciclare l'array.

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.