- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [php/Mysql]Visualizzare immagini
-
[php/Mysql]Visualizzare immagini
Ho un DB Mysql da inserire in rete solo per la consultazione da parte degli utenti (e che quindi non deve essere per il momento aggiornato) Il Db ha un campo foto (con immagini formato jpg). Funziona tutto perfettamente tranne che per la visualizzazione delle immagini.
Ho creato una prima pagina (ricerca.php) nella quale inserisco la query di ricerca e che mi crea un link al campo foto, e una seconda pagina (mostra.php) che mi dovrebbe far vedere la foto relativa al record selezionato ...mi appare invece soltanto l'iconcina con la x
Posto le pagine:
ricerca.php<?php $db_host=""; $db_user=""; $db_password=""; $db_database=""; $connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error()); mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error()); $query="SELECT provincia, comune, toponimo, sito, definizione, id, foto FROM Dettagli WHERE comune LIKE '%$_POST[comune]%' AND provincia LIKE '%$_POST[provincia]%' AND sito LIKE '%$_POST[sito]%' AND definizione LIKE '%$_POST[definizione]%' AND toponimo LIKE '%$_POST[toponimo]%' "; $risultato=mysql_query($query,$connessione) or die ("Errore nella query:" . mysql_error()); while($riga=mysql_fetch_array($risultato)) { print("<tr>"); print ("<td>$riga[provincia]</td>"); print ("<td>$riga[comune]</td>"); print ("<td>$riga[toponimo]</td>"); print ("<td>$riga[sito]</td>"); print ("<td>$riga[definizione]</td>"); print("<td>$riga[id]</td>"); print ("<td><a href=\"mostra.php?id=$riga[id]\">$riga[foto]</a></td>"); print ("</tr>"); } ?>
mostra.php
<?php header('Content-Type: image/jpeg'); $db_host=""; $db_user=""; $db_password=""; $db_database=""; $connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error()); mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error()); $query="SELECT foto FROM Dettagli WHERE id='. $_GET[id]'"; $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error()); $riga = mysql_fetch_array($risultato); $foto=$riga['foto']; echo "<img scr="/$foto\"/>"; ?>
Qualcuno può suggerirmi dove sbaglio?
Grazie
-
Ho sbagliato a digitare il codice di mostra.php..ecco quello giusto (almeno spero)
<?php header('Content-Type: image/jpeg'); $db_host=""; $db_user=""; $db_password=""; $db_database=""; $connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error()); mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error()); $query="SELECT foto FROM Dettagli WHERE id='. $_GET[id]'"; $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error()); $riga = mysql_fetch_array($risultato); $foto=$riga[foto]; echo "<img scr=\"/$foto\"/>"; ?>
-
hai provato a controllare il percorso che restituiscono le proprietà di quell'iconcina.
al 99% risolvi il problema accorgendotene da solo.
poi perchè complicarsi la vita con tutti quegli slash, backslash e controslash.
con php hai la fortuna che le stringhe si possono definire sia con il singolo che doppio apice.
es:
$var = 'pippo è un "bravo" ragazzo';
oppure
$var = "pippo è un 'bravo' ragazzo";funzionano entrambi senza dover usare tutti quegli slash che fanno venire solo mal di testa.
-
Ho provato a controllare il percorso che restituiscono le proprietà dell'icona è mi da tutto "Non disponibile".....ma allora dov'è che sbaglio ????
-
Prova a sostituire i vari $_GET[id] in $_GET['id'], $_POST[comune]=$_POST['comune'] e così via.
Ciao
-
hai controllato nella tabella se si inserisce correttamente l'url dell' immagine ?
-
Grazie a tutti, ho risolto c'era un errore nella compilazione del db