Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    Originariamente inviato da fabi080
    Ma echo $testo è fuori dal while???
    E come sopra, le istruzioni per prendere i dati da una parte, e il codice per visualizzarli dall'altra....Perché?
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  2. #12
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Quel limit era sbagliato cmq. Ora devo uscire. Mi spiace. Sicuramente qno ti risolverà il problema, altrimenti stasera gli dò un'occhiata.
    Ma l'echo di $testo lo dai dentro o fuori dal while? Devi darlo dentro. Un'altra cosa, magari non c'entra niente ma i nomi dei campi io li recupero tra apici singoli. Non so se funziona anche con gli apici doppi.
    E poi ti conviene dare un <tr> per ogni riga del tuo db.
    Facci sapere.ciao

  3. #13
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Semplicemente perchè ogni iterazione del while sovrascrive il valore precedente, pertanto qualsiasi numero di record hai facendo in quel modo avrai sempre un solo record visualizzato.

    Devi stampare i record all'interno del while, oppure se proprio vuoi stamparli dopo, salvarli in un array ad esempio con
    Codice PHP:
    $records[] = array($valori ["titolo"],
                       
    $valori ["nome"],
                       
    $valori ["testo"],
                       
    $valori ["data"],
                       
    $valori ["ora"],
                       
    $valori ["id"]); 
    creando così un array bidimensionale che contiene i dati da stampare, quando ti serve cicli sull'array e stampi i dati.

    Secondo me tutto ciò è però uno spreco di memoria, tanto vale eseguire la query nel punto dove ti serve di stampare i dati.

  4. #14
    Originariamente inviato da nicola75ss
    Quel limit era sbagliato cmq. Ora devo uscire. Mi spiace. Sicuramente qno ti risolverà il problema, altrimenti stasera gli dò un'occhiata.
    Ma l'echo di $testo lo dai dentro o fuori dal while? Devi darlo dentro. Un'altra cosa, magari non c'entra niente ma i nomi dei campi io li recupero tra apici singoli. Non so se funziona anche con gli apici doppi.
    E poi ti conviene dare un <tr> per ogni riga del tuo db.
    Facci sapere.ciao
    Scusa ma sono ale prime armi con il php....
    Non ho capito molto dlle ue domande....

    Potresti mica spiegarti con termini un po meno sofisticati?

    Grazie, ciaooo!
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  5. #15
    Originariamente inviato da fabi080
    Semplicemente perchè ogni iterazione del while sovrascrive il valore precedente, pertanto qualsiasi numero di record hai facendo in quel modo avrai sempre un solo record visualizzato.

    Devi stampare i record all'interno del while, oppure se proprio vuoi stamparli dopo, salvarli in un array ad esempio con
    Codice PHP:
    $records[] = array($valori ["titolo"],
                       
    $valori ["nome"],
                       
    $valori ["testo"],
                       
    $valori ["data"],
                       
    $valori ["ora"],
                       
    $valori ["id"]); 
    creando così un array bidimensionale che contiene i dati da stampare, quando ti serve cicli sull'array e stampi i dati.

    Secondo me tutto ciò è però uno spreco di memoria, tanto vale eseguire la query nel punto dove ti serve di stampare i dati.
    Dato che nn mi inendo molto potesti riscrivermi il codice giusto?
    Susa ma sono un po imbranato
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  6. #16
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    <table>
    <?php
    while ($valori = mysql_fetch_array ($query)){
    $titolo = $valori ["titolo"];
    $nome = $valori ["nome"];
    $testo = $valori ["testo"];
    $data = $valori ["data"];
    $ora = $valori ["ora"];
    $id = $valori ["id"];

    echo "<tr>";
    echo "<td>$titolo</td>";
    echo "<td>$nome</td>"; // sotto dai l'echo per tutti gli altri campi
    echo "</tr>";

    }
    ?>
    </table>

  7. #17
    Originariamente inviato da nicola75ss
    <table>
    <?php
    while ($valori = mysql_fetch_array ($query)){
    $titolo = $valori ["titolo"];
    $nome = $valori ["nome"];
    $testo = $valori ["testo"];
    $data = $valori ["data"];
    $ora = $valori ["ora"];
    $id = $valori ["id"];

    echo "<tr>";
    echo "<td>$titolo</td>";
    echo "<td>$nome</td>"; // sotto dai l'echo per tutti gli altri campi
    echo "</tr>";

    }
    ?>
    </table>
    Ah.....
    Però queste scritte le devo spargere per tutta la pagina, come faccio?
    Se metto questo codice me le mette tutte uno dietro l'altra....
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  8. #18
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    1) Soluzione efficiente senza spreco di memoria
    Codice PHP:
    while ($valori mysql_fetch_array ($query)){ 
      echo 
    $valori["titolo"]." ".$valori ["nome"]." ".$valori["testo"].
      
    " ".$valori ["data"]." ".$valori ["ora"]." ".$valori["id"];

    2) Soluzione con spreco di memoria
    Codice PHP:
    while ($valori mysql_fetch_array ($query)){ 
    $records[] = array($valori ["titolo"],
                       
    $valori ["nome"],
                       
    $valori ["testo"],
                       
    $valori ["data"],
                       
    $valori ["ora"],
                       
    $valori ["id"]);

    e dove vuoi stampare metti
    Codice PHP:
    foreach ($results as $record) {
      foreach (
    $records as $data) {
        echo 
    $data;
      }

    Ovvio che in entrambi i casi non ho gestito la formattazione dell'output, quella la devi fare tu secondo le tue esigenze.

  9. #19
    Originariamente inviato da fabi080
    1) Soluzione efficiente senza spreco di memoria
    Codice PHP:
    while ($valori mysql_fetch_array ($query)){ 
      echo 
    $valori["titolo"]." ".$valori ["nome"]." ".$valori["testo"].
      
    " ".$valori ["data"]." ".$valori ["ora"]." ".$valori["id"];

    2) Soluzione con spreco di memoria
    Codice PHP:
    while ($valori mysql_fetch_array ($query)){ 
    $records[] = array($valori ["titolo"],
                       
    $valori ["nome"],
                       
    $valori ["testo"],
                       
    $valori ["data"],
                       
    $valori ["ora"],
                       
    $valori ["id"]);

    e dove vuoi stampare metti
    Codice PHP:
    foreach ($results as $record) {
      foreach (
    $records as $data) {
        echo 
    $data;
      }

    Ovvio che in entrambi i casi non ho gestito la formattazione dell'output, quella la devi fare tu secondo le tue esigenze.
    Ma con questo dovrebbe risolvere anche il problema per vedere TUTTI i dati????
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  10. #20
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Questo ti fa vedere tutti i dati riportati come risultato della query:
    SELECT id,titolo,nome,testo,data,ora FROM guide ORDER BY id DESC


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.