1) per le immagini, concordo con chi ti ha suggerito di usare il file system: sei veloce nel recuperare i file e il db rimane "snello" :-)
2) per avere una immagine random che fa parte di un record mysql puoi fare in questo modo:
poniamo che la tabella è composta in questo modo: id, titolo, testo, img etc
fai una prima query dove vai a verificare quali id della tabella soddisfano la tua richiesta.
potebbero esserci dei record che non sono visibili, altri che sono stati cancellati, altri che devono essere pubblicati...
3) crei un array da associare al risultato estratto della query (di sopra) :-)
4) crei un indice dei risultati ottenuti, e usi la funzione rand() via PHP
5) crei la query per recuperare l'immagine impostando come "discriminante" l'id della prima query e il gioco è fatto....
Comunque, ti ho scritto un po' di codice per rendere l'esempio più semplice:
Codice PHP:
// Costruisco la prima query per avere tutti gli id disponibili che soddisfano la richiesta
$query_id = "SELECT id FROM {$tab_automobili} WHERE is_attiva = 1 ";
$rs_query_id = mysql_query($query_id);
// creo un array di $mostra da associare al risultato estratto
$mostra = array();
while($mostra[] = mysql_fetch_array($rs_query_id, MYSQL_ASSOC))
// setto la variabile...
isset($index);
// creo un indice dei risultati ottenuti.
// Se -2 restituisce solo i record pieni, se -1 lascia uno vuoto, da usare per pubblicità galistar
// recupero un id random...
$index = rand(0, count($mostra) - 2);
{
$id_record = $mostra[$index]['id_articolo'];
}
// liberiamo memoria...
mysql_free_result($rs_query_id);
// setto anche qui la variabile...
if (isset($id_record) != '')
{
$query_img = "SELECT id, titolo, img FROM {$tab_automobili} WHERE id = {$id_record}";
$rs_query_img = mysql_query($query_img);
$mostra_img = mysql_fetch_array($rs_query_img, MYSQL_ASSOC);
$id = $mostra_img['id'];
$titolo = $mostra_img['titolo'];
$img = $mostra_img['img'];
}
else
{
print ' nessun record... ';
}
ciao e buon lavoro!