Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    visualizzare immagini da DB

    scusate, ho un piccolo problema con questo codice che tramite query su una tabella, estrae alcuni record, tra cui c'è anche un campo di tipo BLOB e in cui sono memorizzate immagini.

    Codice PHP:
    $prodotti = $_GET['prezzo'];    
    $query = "SELECT * FROM prodotti WHERE prezzo < $prodotti";  
    $result = mysql_query ($query, $cs);  ?>  
    <table align="left" border="2">  
    <?  while ($riga mysql_fetch_array($result))  {  ?> 
    <tr> <td>   <h4>nome prodotto: </h4>    <? echo ($riga['nome']); ?>    
    <td> <h4>descrizione prodotto: </h4>      <? echo ($riga['descrizione']);?>      
    <td><h4>prezzo prodotto: </h4>        <? echo ($riga['prezzo']);?>        
    <td> <? echo ($riga['immagine']);?>
    <?   
    }
    ovviamente l'immagine deve apparire nella cella $riga[immagine]. La mia domanda è, come mai sul browser l'immagine non si vede, ma appaio dei caratteri strani, tipo:

    ����JFIF��C    "" $(
    ,$&1'-=-157:::#+?D?8C49:7��C 7%%

    cosa sbaglio?

    Altra cosa, per contare i record estratti dalla query, può andar bene il codice
    Codice PHP:
    <? $size count($result);  echo "$size";
    thank you

  2. #2
    Le immagini devono essere scritte in un file temporaneo che abbia un header diverso.
    Presupponiamo che tu abbia anche un campo "id" nel database.
    Devi creare un file "immagine.php" dove dentro gli andrai a scrivere l'immagine, magari con l'id di riferimento nella query string.

    Nella prima riga del file, metti:
    header("Content-type: image/jpeg")

    Poi prosegui facendo la tua query in modo che ad esempio immagine.php?id=15

    quindi qualcosa tipo:

    $id = $_GET['id'];
    $query = "SELECT * FROM prodotti WHERE id = $id";
    $result = mysql_query ($query, $cs);
    while ($riga = mysql_fetch_array($result)) {
    echo ($riga['immagine']);
    }

    Infine nel file dove effettui la visualizzazione (hai appena mostrato) sostituisci:
    <td> <? echo ($riga['immagine']);?>

    con
    <td> <? echo "<img src=immagine.php?id=".$riga['id']." />" ?>



  3. #3
    allora, mi sei stato molto utile.. se non altro perchè ho capito il ragionamento per tirare fuori l'immagine. Rimane qualche piccolo problema:
    1)la query restituisce i record, ma il browser, nella cella dell'immagine, mi restituisce solamente un oggetto con la scritta "immagine" e che tra l'altro, andando a vedere fra le prorpietà, ha una risoluzione di 0 x 0 pixel e questo indirizzo "http://localhost/immagine.php?id="
    2)questo codice per estrarre il numero di record restituiti dalla query

    Codice PHP:
    <? $size count($result);  echo "$size";
    non funziona come vorrei, perchè come risultato mi da sempre 1

    Ho visto che c'è un 3head di oggi con un prolema simile.. scusate se ne ho aperto un altro ma mi sono accorto dopo!!

    cmq, grazie ancora per la collaborazione!

  4. #4
    1) come vedi il capo "id" è vuoto. Il mio era una esempio semmai avevi un campo chiamato proprio ID. Hai un campo che si chiama "id" ?

    2) prova così:
    $size = mysql_num_rows($result); echo "$size";

  5. #5
    allora:
    1) il campo id c'è nella tabella, ed è per questo che ho utilizzato il tuo esempio, pensando che andasse bene come me lo avevi scritto.. non carica però l'immagine presente in tabella, ma solo un oggetto con la scritta "immagine" e le proprietà che ti dicevo prima.. sembra quasi che mi carichi sempre la stessa "immagine" perchè come dimensione mi da sempre 643 byte, mentre i file che dovrebbe caricare sono da 2-3 kb..
    2) con il tuo codice funziona!! grazie!!

  6. #6
    Nell'Url dell'immagine:
    "http://localhost/immagine.php?id="
    Esce un id? Oppure è proprio senza?

    Vedi comunque se il file immagine.php?id=1 si apre di per se.

  7. #7
    1) precisazione: secondo te è influente il percorso in cui è salvata l'immagine?? no perchè queste, sono caricate all'interno della tabella, ma dove sono fisicamente salvate, ha qualche importanza??

    in effetti ammetto che mi mancano un pò di basi per lavorare con sta robba.. ufff...

  8. #8
    Originariamente inviato da WillyLord
    Nell'Url dell'immagine:
    "http://localhost/immagine.php?id="
    Esce un id? Oppure è proprio senza?

    è proprio senza.. per qualsiasi record caricato

    Vedi comunque se il file immagine.php?id=1 si apre di per se.
    il file si apre ma senza l'immagine che voglio io, ma solo con lo stesso oggetto "immagine" e le proprietà di prima (0x0 pixel, 643 byte..)

  9. #9
    forse devo impostare i parametri di connessione anche nel file immagine.php?

  10. #10
    Si devi fare la connessione allo stesso modo, perchè è considetata una pagina a parte.

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.