- Home
- Categorie
- Coding e Sistemistica
- PHP
- Stampare immagini da cartelle mantenendo un riferimento con sql
-
Stampare immagini da cartelle mantenendo un riferimento con sql
Ciao a tutti, sto realizzando un funzione in php che mi estragga delle immagini da cartella e le stampi a video.
Su ciascuna immagine verrà stampato del testo sotto forma di caption che viene estratto dal db.
Ora, con questa funzione vado ad aprire la cartella delle immagini, a leggerne il contenuto e a metterlo in un array:$folder_path = 'images/thumbs/wedding/'; //image's folder path
$num_files = glob($folder_path . "*.{JPG,jpg,gif,png,bmp}", GLOB_BRACE);
$folder = opendir($folder_path);
if($num_files > 0)
{
while(false !== ($file = readdir($folder)))
{$file_path_03 = $folder_path.$file;
$extension = strtolower(pathinfo($file ,PATHINFO_EXTENSION));
if($extension=='jpg' || $extension =='png' || $extension == 'gif' || $extension == 'bmp')
{
?><?php
}
}
}
closedir($folder);
?>Con quest' altra vado a fare una query sul db per l' estrazione del campo 'text' (contenente 3 record)
$text=mysql_query("select text from caption_text");
$result = array();
while($re=mysql_fetch_array($text)){
$result[] = $re[0];
}
for ($i=0; $i< sizeof ($result); $i++){}
Il problema è che in questo modo vado a stampare solo il primo record della tabella, quindi, se stampo 3 immagini, su ciascuna verrà stampato sempre solo il primo record. Come risolvo?
Grazie ragazzi
-
Sinceramente non ho capito la parte " l'estrazione del campo 'text' (contenente 3 record) ", che intendi per "contenente 3 record"?
Il problema è che in questo modo vado a stampare solo il primo record della tabella, quindi, se stampo 3 immagini, su ciascuna verrà stampato sempre solo il primo record.
Intendi che sulla caption ti ritrovi sempre il campo text della prima ROW?
-
Si infatti mi sono espressa male. Se nella mia pagina vengono stampate 01.jpg e 02.jpg, nella caption mi ritrovo sempre il valore di text della prima row. Grazie
-
Allora puoi postare la parte di codice che usi per lo stampaggio delle caption?
Perchè qui:
$text=mysql_query("select text from caption_text");
$result = array();
while($re=mysql_fetch_array($text)){
$result[] = $re[0];
}
for ($i=0; $i< sizeof ($result); $i++){}
vedo solo l'assegnazione del $re[0] (che presumo sia 'text') ad un array nominato $result.
Consiglio mio, invece di usare il for non hai pensato ad un foreach?