• User

    [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&#40;$db_host,$db_user,$db_password&#41; or die &#40;"Errore nella connessione al Mysql:" . mysql_error&#40;&#41;&#41;;
    mysql_select_db&#40;$db_database,$connessione&#41; or die &#40;"Errore nella selezione del db&#58;" . mysql_error&#40;&#41;&#41;;
    
    $query="SELECT provincia, comune, toponimo, sito, definizione, id, foto FROM Dettagli WHERE comune LIKE '%$_POST&#91;comune&#93;%'
    AND provincia LIKE '%$_POST&#91;provincia&#93;%'
    AND sito LIKE '%$_POST&#91;sito&#93;%'
    AND definizione LIKE '%$_POST&#91;definizione&#93;%'
    AND toponimo LIKE '%$_POST&#91;toponimo&#93;%' ";
    $risultato=mysql_query&#40;$query,$connessione&#41; or die &#40;"Errore nella query&#58;" . mysql_error&#40;&#41;&#41;; 
    
    while&#40;$riga=mysql_fetch_array&#40;$risultato&#41;&#41;
    &#123;
    print&#40;"<tr>"&#41;;
    print &#40;"<td>$riga&#91;provincia&#93;</td>"&#41;;
    print &#40;"<td>$riga&#91;comune&#93;</td>"&#41;;
    print &#40;"<td>$riga&#91;toponimo&#93;</td>"&#41;;
    print &#40;"<td>$riga&#91;sito&#93;</td>"&#41;;
    print &#40;"<td>$riga&#91;definizione&#93;</td>"&#41;;
    print&#40;"<td>$riga&#91;id&#93;</td>"&#41;;
    print &#40;"<td><a href=\"mostra.php?id=$riga&#91;id&#93;\">$riga&#91;foto&#93;</a></td>"&#41;;
    print &#40;"</tr>"&#41;;
    &#125; 
    ?>
    

    mostra.php

    
    <?php 
    header&#40;'Content-Type&#58; image/jpeg'&#41;;
    $db_host="";
    $db_user="";
    $db_password="";
    $db_database="";
    $connessione=mysql_connect&#40;$db_host,$db_user,$db_password&#41; or die &#40;"Errore nella connessione al Mysql&#58;" . mysql_error&#40;&#41;&#41;;
    mysql_select_db&#40;$db_database,$connessione&#41; or die &#40;"Errore nella selezione del db&#58;" . mysql_error&#40;&#41;&#41;;
    $query="SELECT foto FROM Dettagli WHERE id='. $_GET&#91;id&#93;'";
    
    $risultato = mysql_query&#40;$query&#41; or die&#40;'Query non valida&#58; ' . mysql_error&#40;&#41;&#41;; 
    $riga = mysql_fetch_array&#40;$risultato&#41;;
    
    $foto=$riga&#91;'foto'&#93;;
    echo "<img scr="/$foto\"/>"; 
    ?>
    

    Qualcuno può suggerirmi dove sbaglio?
    Grazie


  • User

    Ho sbagliato a digitare il codice di mostra.php..ecco quello giusto (almeno spero)

    
    <?php 
    header&#40;'Content-Type: image/jpeg'&#41;;
    $db_host="";
    $db_user="";
    $db_password="";
    $db_database="";
    $connessione=mysql_connect&#40;$db_host,$db_user,$db_password&#41; or die &#40;"Errore nella connessione al Mysql&#58;" . mysql_error&#40;&#41;&#41;;
    mysql_select_db&#40;$db_database,$connessione&#41; or die &#40;"Errore nella selezione del db&#58;" . mysql_error&#40;&#41;&#41;;
    $query="SELECT foto FROM Dettagli WHERE id='. $_GET&#91;id&#93;'";
    
    $risultato = mysql_query&#40;$query&#41; or die&#40;'Query non valida&#58; ' . mysql_error&#40;&#41;&#41;; 
    $riga = mysql_fetch_array&#40;$risultato&#41;;
    
    $foto=$riga&#91;foto&#93;;
    echo "<img scr=\"/$foto\"/>"; 
    
    ?>
    

  • Super User

    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.


  • User

    Ho provato a controllare il percorso che restituiscono le proprietà dell'icona è mi da tutto "Non disponibile".....ma allora dov'è che sbaglio ????


  • Moderatore

    Prova a sostituire i vari $_GET[id] in $_GET['id'], $_POST[comune]=$_POST['comune'] e così via.

    Ciao 🙂 :ciauz:


  • User

    hai controllato nella tabella se si inserisce correttamente l'url dell' immagine ?


  • User

    Grazie a tutti, ho risolto c'era un errore nella compilazione del db