[php/Mysql]Visualizzare immagini

  • Creatore Discussione Creatore Discussione claudia
  • Data di inizio Data di inizio

claudia

Utente Attivo
30 Gen 2006
39
0
0
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 attraverso la query di selezione...mi appare invece soltanto l'iconcina con la x
Posto le pagine
ricerca.php
Codice:
<?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
Codice:
<?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
 
Secondo me mancano apici ovunque...
della serie:

$riga['provincia'] e non $riga[provincia]
$_GET['id'] e non $_GET[id]

almeno io il PHP lo scrivo così... :confused:
 
Gli apici a cui ti riferisci fanno parte della pagina ricerca.php che funziona benissimo, quindi credo non presentino errori. Il problema è nella visualizzazione delle immagini data da mostra.php
 
$_GET[id] si trova in mostra.php...
prova nella pagina mostra.php a fare:

echo $_GET[id];
echo $_GET['id'];

se scrive il valore due volte hai ragione te altrimenti ho ragione io... :ilpirata:
 
E se scrivi:

$foto=$riga[foto];
echo ($foto);
echo "<img scr=\"/$foto\"/>";?>

Guarda di avere tutto il persorso giusto...
dovresti vederlo anche facendo tasto destro e proprietà sulla crocetta che ti viene al posto dell'immagine...
 
Ora addirittura mi è cambiata l'iconcina.. (non è più quella con la crocetta ma quella con il quadratino, cerchio e triangolo !!!) comunque cliccandici col destro in proprietà mi da tutte le voci "Non disponibile".....Sto per rinunciare!!!
 
Ho riprovato...è tornata l'iconcina di prima e in proprietà mi dice:

Protocollo: Protocollo di trasferimento Hyper Text

Tipo: Non disponibile

Indirizzo (URL) http://miosito/img
 
header('Content-Type: image/jpeg');
puoi lasciarlo anche via...

="SELECT foto FROM Dettagli WHERE id='. $_GET[id]'";

='SELECT foto FROM Dettagli WHERE id='. $_GET[id].' ';

Secondo me il codice che hai scritto va un tantino rivisto...
 
Modificando il codice come mi hai suggerito e mantenendo
Codice:
$foto=$riga[foto];
echo ($foto);
echo "<img src=\"/$foto\"/>";?>
mi da
il testo del percorso esatto più l'iconcina con la x (che in proprietà mi da lo stesso percorso)

A questo punto mi domando non è che l'errore di visualizzazione è da ricercare nel DB?....Il campo foto è stato creato di tipo text e compilato con il nome dell'immagine
 
scusa ma...mi manderesti il link al sito in privato?

io comunque scriverei:

PHP:
echo '<img src="'.$foto.'">';

Hai controllato inoltre che l'immagine al percorso esista?
Minuscole/maiuscole...spazi...
hai controllato le proprietà del file?
permessi di lettura del file...
 
Ultima modifica:
!!!!!!!! FUNZIONA !!!!!!!!
Non finirò mai di ringraziarti....sei un genio...e soprattutto sei dotata di una pazienza interminabile
Grazie, Grazie, Grazie
 
prego Claudia, alla fine a parte questa piccolezza eri stata molto brava! Spero che ci farai ancora visita e che il tuo progetto vada al meglio...

Dovevo forse chiederti prima di darmi il link e risolvevamo subito!

Un buon pomeriggio
ich grüße dich :beer:
 

Discussioni simili