-
Ciao, ho un database mysql contente i percorsi delle immagini di una cartella, titoli, descrizioni, etc...
vorrei visualizzare queste immagini più qualche info in una tabella tipo 4x4 ma non riesco a capire come fare per fargli fare 4 celle e poi andare a capo, spero di essermi spiegato
Il codice che ho ora è questo ma così non va mai a capo!!??!!
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<?php
include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore durante la connessione con il database.");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database.");
$risultati = mysql_query("SELECT * from $table");
while($riga = mysql_fetch_array($risultati)){
echo("
<td width=\"25%\"><div align=\"center\">
<h6><a href=\"scat_img.php?id=".$riga['id']."\">
<img src=foto/prev/".$riga['url']." border=\"0\"></a><br>
".$riga['genere']."<br>
".$riga['specie']."<br>
".$riga['scattata']."</h6></div></td>
");
}
?>
</tr>
</table>
Grazie a tutti
-
Allora prima di tutto ti conviene gestire i TR all'interno del while. E poi, sempre all'interno del while ti incrementi un contatore (da 0 a 3), appena vedi che è > 3 lo riazzeri:
se il contatore è 0 aggiungi <TR> prima del contenuto da generare;
se il contatore è 3 aggiungi </TR> dopo il contenuto generato;
ti tocca tener traccia di quando sei andato a capo con un flag, perché se finisci gli elementi e sei a "metà" riga devi chiudere il tr oppure gestire le eventuale celle vuote.
-
:oops:
mmm, sono alle prime armi con php, lo script precedente l'ho adattato da uno esistente, mi potresti aiutare con il codice?
thanks
-
Ecco, l'ho scritto di getto senza testarlo ma penso sia ok, l'intervento come vedi è minimo:
[code:1:3100e1d061]<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?php
include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore durante la connessione con il database.");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database.");
$risultati = mysql_query("SELECT * from $table");
$wrapped = false;
$cell = 0;
while($riga = mysql_fetch_array($risultati)){
if ($cell==0)
echo "<tr>";
echo("
<td width=\"25%\"><div align=\"center\">
<h6><a href=\"scat_img.php?id=".$riga['id'& #93;."\">
<img src=foto/prev/".$riga['url']." border=\"0\"></a><br>
".$riga['genere']."<br>
".$riga['specie']."<br>
".$riga['scattata']."</h6></div></td>
");
if ($cell==3){
echo "</tr>";
$cell=0;
$wrapped=true;
}else{
$cell++;
$wrapped=false;
}
}
if (!$wrapped){
echo "</tr>";
}
?>
</table> [/code:1:3100e1d061]
Attenzione: non è gestito il caso in cui non vi sia NESSUN risultato, fammi sapere...
-
GRANDEEE, funziona, ora sorge un'altro problema, mettiamo che ho 50 immagini di cui deve fare la preview, ne vorrei solo 16 per pagina, quindi dovrebbe creare un link sotto che porta alla pagina 2, 3 ecc.
é una coda che devo digli nella query?
Grazie
-
E' il classico discorso del "browsing" o della "paginazione dei risultati".
Per ora sinceramente ho sempre evitato di farlo, ma sarà per poco perché è una cosa inevitabile in un sito.. perciò non posso assicurarti o spararti un codice già pronto..
posso darti qualche dritta, alla fine di una query SQL puoi usare " ... LIMIT 0, 15" in questo modo puoi paginare via sql (e penso sia il più ottimizzato dei metodi ma ti ho detto non ho la certezza.
-
ho trovato sul forum di un'altro sito il codice che serve,
qualche semplice riga che va a richiamare una funzione.
http://forum.guidoz.it/viewtopic.php?t=451
bye
-
..e infatti :)
usa il " LIMIT da, a" alla fine della query sql.