Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [PHP] Ciclo While

  1. #1

    [PHP] Ciclo While

    Codice PHP:
    $query "SELECT * FROM pd_comments WHERE Word_id='".$ID."' ORDER BY Data ASC";

        
    $result mysql_query($query);
            if (!(
    $row_c mysql_fetch_assoc($result))) {
                
    $c.= '
    <div align="center">Nessun Commento</div>'
    ;
                    } else {
                    while (
    $row_c mysql_fetch_assoc($result))
                    { 
                    
    $c.= '<p class="bSmallPrint">Data: [b]'.Date("d/m/y - H:i"$row_c['Data']).'[/b]  Autore: [b]'.$row_c['Autore'].'[/b] Città: [b]'.$row_c['Provenienza'].'[/b]';
                    If (
    $row_c['Email']!= "vuoto"){$c.= '[email="'.$row_c['Email'].'"][img]images/email.gif[/img][/email]';} 
                    If (
    $row_c['HomePage']!= "vuoto"){$c.= '[url="'.$row_c['HomePage'].'"][img]images/www_icon.gif[/img][/url]';}
                    
    $c.=  '
    '
    ;
                    
    $c.=  'Commento:'$row_c['Messaggio'];
                    if (
    $GLOBALS['admin']) { $c.= '[url="admin.php?action=del_comm&c_id=' $row_c['ID'] . '&from=' $GLOBALS['from'] . '"][img]images/button_delete.gif[/img][/url]';}
                    
    $c.= '</p>
    '

                    } 
                } 
    Con questa semplice query interrogo una tabella popolata per estrarre dei record per poi stampare il tutto con
    Codice PHP:
    print ($c); 
    Riscontro qualche problema con il ciclo while perchè quando stampo il contenuto di $c non trovo il record numero 0 (tra quelli estratti dalla query), $c mi restituisce dal record numero 1 in poi.
    Non riesco a spiegarmi il motivo...
    A qualcuno di voi salta all' occhio?

  2. #2

    Re: [PHP] Ciclo While

    [QUOTE]Originariamente inviato da TanoDaMorire
    Codice PHP:
            if (!($row_c mysql_fetch_assoc($result))) { 
    [/QUOTE
    lì fai il fetch la prima volta quindi ovviamente nel while parti dalla seconda riga del risultato.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    quindi se faccio il fetch subito, come posso stampare il recordset contenuto nell' array $row_c con il ciclo while?

    Ipotizzo un
    while !($row_c)
    ...

  4. #4
    credo questo dovrebbe funzionare:


    Codice PHP:
     while ($row_c mysql_fetch_array($result)) 

  5. #5
    mysql_fetch_assoc o mysql_fetch_array non fa differenza: il primo record viene sempre saltato nel ciclo while. in questo senso ha ragione mxa.

    A questo punto la domanda è: come posso fare per controllare se l' espressione $result = mysql_query($query); contiene dei dati oppure no prima di far partire il ciclo while in modo da poter avvisare anche il client se il recorset è pieno o non sono stati trovati record?

  6. #6
    mysql_num_rows>0 ad esempio...
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  7. #7
    oppure mysql_affected_rows() ...

  8. #8
    Originariamente inviato da sideval
    oppure mysql_affected_rows() ...

    int mysql_affected_rows ( [resource identificativo_connessione] )

    mysql_affected_rows() restituisce il numero di righe coinvolte nell'ultima query INSERT, UPDATE o DELETE associata a identificativo_connessione.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

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.