- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema impaginazione record
-
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:?
-
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.
p.s. Ripetuto 20 volte per far arrivare il concetto (ognuno ha il suo procedimento logico, così li ho toccati tutti