Visualizzazione risultati 1 fino 8 di 8

Discussione: stampa dati da tabella...mmmmm e perchè fa così?

  1. #1
    Guest

    Exclamation stampa dati da tabella...mmmmm e perchè fa così?

    Rieccomi, per quanto riguarda le cose precedenti risolto tutto, vi ringrazio... succede una cosa strana credo... vi spiego...
    nella variabile sum2 c'è il valore 2 cioè ci sono queste due righe nella tabella
    ID - message
    1) prova - prova
    2) prova1 - prova1
    nella variabile result c'è la query
    presumo che questo while mi elenchi l'ID e il message di ogni riga...

    if($sum2!=0)
    {
    while ($array = mysql_fetch_array($result)) {
    echo $array['ID'];
    echo $array['message'];
    }
    }

    invece mi restituisce solo l'ultima, ho provato ad aggiungere una terza riga, e mi restituisce la seconda e la terza, praticamente mi salta la prima riga della tabella, parte dalla seconda... xk? come si coregge?
    grazie...

  2. #2
    Guest

    Predefinito

    Meglio se posti tutto il codice, compresa la query.


    Ciao!

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Non è che più indietro hai scritto una mysql_fetch_array() a vuoto? È l'unica causa possibile...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    Non è che più indietro hai scritto una mysql_fetch_array() a vuoto? È l'unica causa possibile...

    Stammi bene...
    Infatti. E poi non ho capito il senso della IF. Se la query non ha trovato nessuna riga, la mysql_fetch_array darà FALSE al primo tentativo, e non entrerà mai nel loop della WHILE. Non c'è bisogno di fare un controllo sul numero delle righe nella tabella.
    In altre parole:

    questo
    Codice PHP:
    if($sum2!=0)
    {
    while (
    $array = mysql_fetch_array($result)) {
    echo
    $array['ID'];
    echo
    $array['message'];
    }
    }
    è identico a questo
    Codice PHP:
    while ($array = mysql_fetch_array($result)) {
    echo
    $array['ID'];
    echo
    $array['message'];
    }

  5. #5
    Guest

    Predefinito

    questo è l'intero codice, il problema sono le ultime 5 righe, anche togliendo l'if come suggerito salta sempre la prima riga...

    Codice PHP:
    <?php
    $conn
    = mysql_connect( 'localhost','finv','passw') or die ("non riesco a connettermi");
    mysql_select_db('my_finv', $conn) or die ("non riesco a selezionare il database");
    echo
    "Ciao <b>$nome $cognome</b><br>";
    $query="SELECT * FROM chat";
    $result = mysql_query($query, $conn);
    $row = mysql_fetch_array($result);
    echo
    $row[ID];
    ?>
    <br>
    <?php
    $exec_reading2
    = "SELECT COUNT(ID) as conta FROM chat";
    $conto = mysql_query ($exec_reading2, $conn) or die(mysql_error());
    $tot = mysql_fetch_array ($conto);{
    $sum2 = $tot["conta"];}

    echo
    "righe presenti: ";
    echo
    $sum2;


    while (
    $array = mysql_fetch_array($result)) {
    echo
    $array['ID'];
    echo
    $array['message'];
    }
    ?>
    EDIT:
    l'errore è : $row = mysql_fetch_array($result);
    quindi lui parte dalla seconda, ma questa istruzione mi serve x fare altro, come faccio poi succesivamente ad azzerare la fetch? in modo che non parta dalla seconda?
    Ultima modifica di seneca : 19-12-2007 alle ore 18.19.46

  6. #6
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    hai messo a tutte queste funzione:
    Codice PHP:
    mysql_query (..., $conn)
    la variabile $conn.
    prova a modificale tutte quelle funzioni senza di essa, cosi:
    Codice PHP:
    mysql_query (...)
    e vedi se funziona

    P.S => non so se e la stessa cosa, ma io la selezione del db lo sempre fatta su una variabile
    Ultima modifica di sevenjeak : 19-12-2007 alle ore 19.25.56

    Sevenjeak
    Software developer and much more

  7. #7
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da Finv Visualizza messaggio
    ...
    l'errore è : $row = mysql_fetch_array($result);
    quindi lui parte dalla seconda, ma questa istruzione mi serve x fare altro, come faccio poi succesivamente ad azzerare la fetch? in modo che non parta dalla seconda?
    Ecco la fetch_array "a vuoto" che intendevo...

    Ma non riesco a capire a che ti serva estrarre quella riga da sola prima delle altre... hai provato semplicemente ad eliminarla e vedere cosa succede?

    P.S. Un consiglio: puoi risparmiarti qualche query di conteggio se usi la funzione mysql_num_rows ($result).

    P.P.S. [4 sevenjeak] Non è quella la soluzione al problema, il secondo parametro può essere omesso quando è ben chiaro qual è il riferimento di connessione utilizzato (cioè l'ultimo aperto da una mysql_connect)

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da Finv Visualizza messaggio
    come faccio poi succesivamente ad azzerare la fetch? in modo che non parta dalla seconda?
    Dai un'occhiata a questo:
    http://www.php.net/manual/it/functio...-data-seek.php

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •