ciao e grazie, ora funziona solo che mi fa uno strano scherzetto. mi cicla tutte e 6 le immagini quando me ne dovrebbe mostrare solo 1.
credo che l'errore sia mio... ho fatto diverse prove ma niente.
credo che c'entri la left join strutture.id=strutture_foto.ID_STRUTTURA
perchè se tolgo id e metto nome (p.es.) funziona ma, ovviamente non recuperando l'id, la foto non mi viene mostrata ma il ciclo mostra una sola volta la struttura non 6 volte quante sono le foto.
ecco il codice
Codice PHP:
$query = "SELECT strutture.id, strutture.descrizione, strutture.tipo_struttura, strutture.nome, localita.nome AS locid, strutture_foto.FOTO AS fotina FROM strutture LEFT JOIN localita ON strutture.localita=localita.id LEFT JOIN strutture_foto ON strutture.id=strutture_foto.ID_STRUTTURA";
$res = mysql_query($query) or die (mysql_error());
// numero delle immagini presenti nel DB
$n_img = mysql_num_rows($res);
// verifico che il DB ospiti almeno un'immagine
if($n_img >= 1 ){
// stabilisco il numero di righe e colonne della nostra tabella per l'impagninazione
$colonne = 2;
$righe=0;
// ciclo tutti i record recuperati attraverso la nostra query
while ($f=@mysql_fetch_array($res)){
$righe++;
$id = $f['id'];
$nome = stripslashes($f['nome']);
$localita = stripslashes($f['locid']);
$fotina = stripslashes($f['fotina']);
$testo = stripslashes($f['nome']);
// stampo la cella contenente l'immagine
echo "<td align=\"center\">\n";
//echo $titolo . "
";
//echo "<img src=\"/public/foto/Struttura_str\" height=\"67\" width=\"90\" title=\"$nome\"></td>";
echo "[img]/public/foto/Struttura_str".$id."_".$fotina."[/img]</td>";
//echo "<img src=\"/public/foto/Struttura_str$id"_"$nome"\" height=\"67\" width=\"90\" title=\"$nome\"></td>";
echo "<td valign=\"top\"><span class=\"loc_box\">" . $localita;
echo "</span>\n" . $testo; echo "</td>\n";
// quando il numero di righe equivale al valore impostato nella variabile $righe
// procedo a chiudere la linea e ad azzerare il valore di $righe
if ($righe == $colonne){
echo "</tr>\n";
$righe = 0;
}
}
}else{
// stampo un messaggio se il DB è vuoto
echo "Nessuna immagine inserita.";
}
@mysql_close($cn);
echo "</table>";
?>