Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Visualizzare immagini

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    38

    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 attraverso la query di selezione...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_p assword) 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_p assword) 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

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: Visualizzare immagini

    Non è chiaro cosa vuoi fare.
    Vuoi mostrare le foto intabellate in ricerca.php o solo una per una in mostra.php con un link nella tabella?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    38
    Mi interesserebbero entrambe le soluzioni, in realtà avevo optato per la seconda (creazione del link) ma a quanto pare non ne sono in grado. Se intabellare le foto direttamente nella pagina ricerca.php è meno complicato ti pregherei di darmi un consiglio

  4. #4
    prima di tutto in mostra non può esserci questo:
    echo "<img scr=\"/$foto\"/>";?>

    ma solo echo $foto;
    quindi gestirai mostra.php?id= proprio come se fosse la tua foto.

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Soluzione in tabella:

    print ("<td><img src=\"mostra.php?id=$riga[id]\" /></td>");

    Soluzione con link:

    print ("<td><a href=\"mostra.php?id=$riga[id]\">Visualizza</a></td>");


    In ogni caso, in mostra.php sostituisci questo
    Codice PHP:
    echo "<img scr=\"/$foto\"/>";?> 
    con questo
    Codice PHP:
    $length strlen($foto);
    header("Content-Length: $length");
    echo 
    $foto

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    38
    Ti ringrazio per la risposta, ho provato a modificare il codice di mostra.php ma ora mi segnala questo errore

    Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.space2place.org/htdocs/mostra.php:2) in /home/mhd-01/www.space2place.org/htdocs/mostra.php on line 17

    La linea 17 corrisponde a
    header("Content-Length: $length");

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Molto strano.
    La riga 2 non è quella con l'altro Header?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    38
    Ancora più strano perchè ho riprovato e ora mi da.............

    Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.space2place.org/htdocs/mostra.php:1) in /home/mhd-01/www.space2place.org/htdocs/mostra.php on line 2

    Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.space2place.org/htdocs/mostra.php:1) in /home/mhd-01/www.space2place.org/htdocs/mostra.php on line 16


    ti riposto il codice di mostra.php

    <?php
    header('Content-Type: image/jpeg');
    $db_host="sql.space2place.org";
    $db_user="space2pl55523";
    $db_password="spac70876";
    $db_database="space2pl55523";
    $connessione=mysql_connect($db_host,$db_user,$db_p assword) 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];
    $length = strlen($foto);
    header("Content-Length: $length");
    echo $foto;
    ?>

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Devi avere qualcosa all'inizio del file.
    Elimina tutto quello che c'è al di fuori del tag di apertura <php, compresi gli spazi e le linee vuote

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    38
    Grazie a tutti, ho risolto c'era un errore nella compilazione del db

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.