Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    13

    stampa SELECT non mostra primo elemento

    Ciao a tutti!
    Ho un problema che mi pare piuttosto stupido, ma che mi sta creando non pochi grattacapi.

    Stampando su una pagina php una tabella di un db ordinato per data (per esempio), il primo elemento della stessa non viene visualizzato.

    Il mio codice (piuttosto rudimentale al momento, commistione di poca esperienza, poco tempo per realizzarlo, e poco tempo dall'inizio dei lavori) è questo:
    Codice PHP:
    <?php //connessione al db qui 
    $q=mysql_query("SELECT * FROM orders ORDER BY date"); 
    $r=mysql_fetch_assoc($q);  
    ?>  
    <table border=2>      
    <tr>      
    <td align=center>ID</td>
    <td align=center>DATE</td>      
    <td align=center>VESSEL</td>      
    <td align=center>ORDER N.</td>      
    <td align=center>SUPPLIER</td>      
    <td align=center>PIECES</td>      
    <td align=center>WEIGHT</td>            
    </tr> 
    <?php while ($row=mysql_fetch_array($q)) : ?> 
    <tr> 
    <td>
    <?php echo $row['id']; ?></td> 
    <td><?php echo $row['date']; ?></td> 
    <td><?php echo $row['vessel']; ?></td> 
    <td><?php echo $row['orderno']; ?></td> 
    <td><?php echo $row['supplier']; ?></td> 
    <td><?php echo $row['pieces']; ?></td> 
    <td><?php echo $row['peso']; ?></td> 
    </tr> <?php endwhile; ?> </table>
    Tutto ciò mi porta a visualizzare la tabella corretta, i campi corretti, ma in caso di tre entrate nel db, solamente la seconda e la terza, in ordine di data.

    Avete un'idea, è normale, comune, ho fatto qualche errore veramente stupido (può anche essere, vista la mia distrazione/inesperienza/incapacità?

    PS: Vi inserisco anche l'sql della tabella che magari vi potrebbe servire.

    codice:
    ===Database warehouse == 
    
    Struttura della tabella orders  
    |------ |Campo|Tipo|Null|Predefinito |------ 
    |//**id**//|int(11)| No | 
    |userid|int(11)| No | 
    |vessel|varchar(40)| No | 
    |date|date| No | 
    |orderno|varchar(40)| No | 
    |supplier|varchar(40)| No | 
    |pieces|int(11)| No | 
    |peso|float| No 
    
    | == Dump dei dati per la tabella orders  |------ 
    |id|userid|vessel|date|orderno|supplier|pieces|peso |------ 
    |1|1|prova|2012-12-15|PRV HQ 45938 511|ProvaProva|1|2 
    |2|1|prova2|2012-12-16|PRV HQ 45939 511|ProvaProva2|3|32 
    |3|1|provae|2012-12-10|PRV HQ 45935 511|ProvaProva3|2|10

    Vi ringrazio in anticipo per il possibile aiuto!

  2. #2
    prova a cambiare la riga seguente

    Codice PHP:
    <?php while ($row=mysql_fetch_array($r)) : ?>
    questo perchè all'inizio dello script vedo che hai già fatto un fetch usando la variabile $r

  3. #3
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Ti ignora la prima riga perché la stai prelevando con mysql_fetch_assoc() dove la assegni a $r (che poi non usi più). Togli questa chiamata e lo dovrebbe andare.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    13
    A posto. I crunch time fanno questi pessimi scherzi.

    Vi ringrazio tantissimo!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.