• User Attivo

    Problema impaginazione record

    Salve ragazzi,devo estrarre delle immagini da un database e devo mostrarne a video 15 per ogni pagina...però ogni 5 immagini dovrebbe andare daccapo....quindi 5 immagini su tre righe..

    Ho questo codice....
    [php]
    <?PHP
    if (!isset($start) OR $start<0)
    $start=0;
    $step = 15;

    require ("config.php");

    $query="SELECT * FROM immagini ORDER by id DESC LIMIT $start,$step";
    $query1=@mysql_query("$query") or die("Errore query database: " . mysql_error());

    while($row=mysql_fetch_array($query1))
    {
    $id=$row['id'];
    $cognome=$row['cognome'];
    $nome=$row['nome'];

    echo"$cognome $nome";
    }
    $sql4="SELECT * FROM immagini ORDER BY id DESC ";

    $query4=@mysql_query($sql4) or die (mysql_error());

    $numrows1 = mysql_num_rows($query4);

    if ($start>0)
    { $start_back = $start - $step;
    echo "<a href=prova.php?id=$id&start=$start_back><font class="font44"><center>precedente</a></center></font>";
    }
    $query = "SELECT count(*) AS tot FROM iscritti";
    $result = mysql_query($query, $link);
    $row = mysql_fetch_array($result);

    $pages = intval(($row[tot]-1) / $step)+1;

    for ($i=0; $i<$pages AND $i<4; $i++)
    { $start_page = $i * $step;
    echo "<a href=prova.php?id=$id&start=$start_page>" . ($i+1) . "<font class="font44"></a></font> ";
    }

    if ($start + $step < $row[tot])
    { $start_next = $start + $step;
    echo "<a href=prova.php?id=$id&start=$start_next><font class="font44">successivi</a>";
    }

    $totale1=ceil($numrows1/1);

    $attuale=ceil(($start+1)/1);

    echo"<div id="pagina"><center><font class="font44">Video</font> <font class="fontnick95">$attuale di $totale1</font> <font class="font44">totali</font></div></center>";

    [/php]Non ho capito dove modificare per fare in modo da fare andare accapo ogni 5 immagini visualizzate:?


  • User Attivo

    Prova a mettere le immagini in una tabella.
    Con un ciclo for crei le righe (3) e dentro ad ogni riga metti un secondo ciclo for con le colonne (5) e l'immagine.
    Per intenderci:
    [PHP]<table width="100%" border="0" cellspacing="0" cellpadding="0">
    for($i=1;$i<=3;$i++){
    <tr>
    for($e=1;$e<=5;$e++){
    <td><img src="immagine1.jpg" /></td>
    }
    </tr>
    }
    </table>[/PHP]
    In questo modo il primo ciclo for crea 3 righe.
    Il secondo for crea 5 colonne con 5 immagini, dopodiché si chiude il secondo ma il primo for è ancora aperto, infatti chiudiamo la riga.
    Questo procedimento lo fa 3 volte (quindi verranno create 3 righe) con all'interno 5 colonne per riga (ripetute 3 volte, quindi 15 campi con 1 immagine per campo).
    Poi chiaramente ti personalizzi i campi come vuoi.
    :ciauz:

    p.s. Ripetuto 20 volte per far arrivare il concetto (ognuno ha il suo procedimento logico, così li ho toccati tutti :1: