Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema con ciclo

  1. #1

    Problema con ciclo

    Salve ragazzi ho un database che contiene 1 solo record inserito.Faccio la query di selezione impostando il numero di record da visualizzare pari a 5.Il problema è che mi cicla 5 record anche se nn sono inseriti. Il codice che uso è il seguente
    Codice PHP:
    <?
        $con
    =mysql_connect("sql.gg.com","gg","gg");
        
    mysql_select_db("ggg",$con) or die("errore db");
    $query="select id, titolo, descrizione,date_format(data,'%d/%m/%Y') from serate order by data"
        
    $ris=mysql_query($query) or die("errore");
        
    $count=mysql_num_rows($ris);
        for(
    $i=0;$i<5;$i++){
        
    $lista=mysql_fetch_row($ris);
        
    ?>

        
    <td>
    <font face="Arial" color="#92602E" style="font-size: 10pt; font-weight: 700">[ <? echo $lista[3]; ?> ]</font></td>
    </tr>
    <tr>
    <td bgcolor="#5C3D1D">
    <font face="Arial" color="#C48444" style="font-size: 10pt">- <? echo $lista[2]; ?></font></td>
    </tr>
    <tr>
    <td><font face="Arial" color="#92602E" style="font-size: 10pt"><? echo $lista[1]; ?></font></td>
    </tr>
    <?
    }
     
    ?>
    </table>
    http://www.generationweb.it <--- web site

  2. #2
    credo sia normale visto che tu crei un ciclo che legge 5 volte la stessa risorsa.
    Intanto non specifichi lo scopo di visualizzare 5 record, se devi prendere i primi 5 o devi visualizzarli tutti ma in blocchi di 5 record alla volta.
    Per prima cosa dovresti impostare la query in modo corretto in merito a quanto scritto sopra, poi per il ciclo puoi fare così:
    Codice PHP:
    <?php
    while($lista mysql_fetch_array($ris))
    {
       
    ?>  
    <td>
    <font face="Arial" color="#92602E" style="font-size: 10pt; font-weight: 700">[ <? echo $lista[3]; ?> ]</font></td>
    </tr>
    <tr>
    <td bgcolor="#5C3D1D">
    <font face="Arial" color="#C48444" style="font-size: 10pt">- <? echo $lista[2]; ?></font></td>
    </tr>
    <tr>
    <td><font face="Arial" color="#92602E" style="font-size: 10pt"><? echo $lista[1]; ?></font></td>
    </tr>
    <?php
    }
    ?>
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    allora premetto che in php nn ci capisco na mazza ....ho sempre usato asp...mi potresti riscrivere il codice che ho mandato io modificato???

    In modo da dover sostituire...
    http://www.generationweb.it <--- web site

  4. #4
    Originariamente inviato da generationweb.i
    allora premetto che in php nn ci capisco na mazza ....ho sempre usato asp...mi potresti riscrivere il codice che ho mandato io modificato???

    In modo da dover sostituire...
    ASP o PHP non c'entra nulla...è proprio un problema concettuale sull'uso dei cicli.
    Il ciclo FOR che hai scritto:
    for ($i = 0; $i < 5; $i++)
    si ripete 5 volte, ovvero con $i che vale: 0, 1, 2, 3, 4 dopodichè raggiunge la condizione $i >= 5 che fa fallire la condizione del ciclo.

    Quello che a te serve è un ciclo WHILE che si ripete finchè ci sono dati nuovi da leggere/analizzare e quindi:
    codice:
    <?
    	$con=mysql_connect("sql.gg.com","gg","gg");
    	mysql_select_db("ggg",$con) or die("errore db");
    	$query="select id, titolo, descrizione,date_format(data,'%d/%m/%Y') from serate order by data";
    	$ris=mysql_query($query) or die("errore");
    	$count=mysql_num_rows($ris);
    	while($lista = mysql_fetch_array($ris)) {
    ?>
    	<td><font face="Arial" color="#92602E" style="font-size: 10pt; font-weight: 700">[ <? echo $lista[3]; ?> ]</font></td>
    </tr>
    <tr>
    	<td bgcolor="#5C3D1D"><font face="Arial" color="#C48444" style="font-size: 10pt">- <? echo $lista[2]; ?></font></td>
    </tr>
    <tr>
    	<td><font face="Arial" color="#92602E" style="font-size: 10pt"><? echo $lista[1]; ?></font></td>
    </tr>
    <?php
    	}
    ?>
    In definitiva ti consiglierei prima di ridare uno sguardo alle basi della programmazione (che è universale e non specifica per linguaggio...)
    Administrator of NAMDesign.Net

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.