Visualizzare un immagine contenuta in un altro file.php

Buonasera a tutti!

Ho un problema.... ho caricato su phpmyadmin l'immagine in formato blob e tutto il resto con il solito procedimento in una tabella a parte contenente le informazione IMMAGINE(Tipo,ID,Immagine). Ho trovato su internet uno script chiamato "image.php" che mi permette di visualizzare l'immagine e tutto funziona (l'immagine si visualizza correttamente). Ho soalmente un problema per quanto riguarda la tabella dei "risultati generali" diciamo, posta su un altra pagina, in cui si visualizzano i dati di un altra relazione "TELEFONO"  TELEFONO(Brand,Codice, Nome, IDimmagine) che però contiene l'attributo IDimmagine che è dotato di vincolo di integrità referenziale con l'attributo ID della relazione "IMMAGINE" di prima. Ora, quando visualizzo i risultati ovviamente mi esce solo il numero dell'ID dell'immagine ma io al posto dell'ID vorrei far vedere, all'interno della tabella, l'immagine elaborata da "image.php" visto che priam dello script l'immagine è salvato solo come una stringa infinita di simboli.. come faccio? 

"image.php"
<?php 

// richiamo il file di configurazione

require 'config.php';


// richiamo il file di connessione


require 'cerca1.php';


$db = mysql_connect('localhost', 'root', 'giuliano')                   

or die ("Impossibile connetresi al server $host"); 


$ID = isset($_GET['ID']) ? (int)$_GET['ID'] : exit(header('Location: Images.php')); 


$sql = mysql_query("SELECT Tipo, Immagine FROM immagini WHERE ID = $ID") or die(mysql_error()); 


$row = mysql_fetch_object($sql); 


echo $row->Immagine; 

?> 


File che contiene la tabella che visualizzo


<html>

<p align="center"><head>Risultati della ricerca</head></p>

<body bgcolor=orange>

<?php

// richiamo il file di configurazione

require 'config.php';

// richiamo il file di connessione

require 'cerca1.php';

$db = mysql_connect('localhost', 'root', 'giuliano')

or die ("Impossibile connetresi al server $host");

$B=$_POST['Brand'];

if ($B=="---scegli il Brand---"){$B="";}

$T=$_POST['Tipologia'];

if ($T=="---scegli la tipologia---"){$T="";}

$N=$_POST['Nome'];

if ($N==NULL){$N="";}

$P=$_POST['Prezzo'];

if ($P=="Min"){$P="0";}

$PM=$_POST['PrezzoMax'];

if ($PM=="Max"){$PM="750";}

echo("$B $T $N $P $PM");

$result = mysql_query("

select * from telefono where ('$B' = '' OR Brand = '$B') and ('$T' = '' OR Tipologia = '$T') and ('$N' = '' OR Nome = '$N') and (('$P' = '' ) OR (Prezzo > $P and Prezzo < $PM)) ");

$num_results = mysql_num_rows($result);

if ($num_results > 0){

echo "<center><table border=0 width=980>

<tr height =130>

<td width =30 bgcolor=white>

Immagine

</td>

<th width =30 bgcolor=grey>

Tipologia

</th>

<th width =30 bgcolor=green>

Brand

</th>

<th width =30 bgcolor=pink>

Nome

</th>

<th width =30 bgcolor=yellow>

Descrizione

</th>

<th width =30 bgcolor=red>

Prezzo

</th>

</tr>";

$sql = mysql_query("SELECT ID, Immagine FROM immagini") or die(mysql_error());

while($row = mysql_fetch_array($result))

{

echo "<tr>";

echo "<td bgcolor=\"#a2b6ff\">" . $row['Tipologia'] . "</td>";

echo "<td bgcolor=\"#a2b6ff\">" . $row['Tipologia'] . "</td>";

echo "<td bgcolor=\"#a2b6ff\">" . $row['Brand'] . "</td>";

echo "<td bgcolor=\"#a2b3ff\">" . $row['Nome'] . "</td>";

echo "<td bgcolor=\"#a2b6ff\">" . $row['Descrizione'] . "</td>";

echo "<td bgcolor=\"#a2b6ff\">" . $row['Prezzo'] . "</td>";

echo "</tr>";

}

echo "</table></center>";

}

else{

echo '-->File non trovato<--';

}

// controllo l'esito

if (!$result) {

die("Errore nella query $sql: " . mysql_error());

}

// libero la memoria di PHP occupata dai record estratti con la SELECT

mysql_free_result($result);

// chiudo la connessione a MySQL

mysql_close();

  ?> 

Grazie a tutti!
inviato 4 anni fa
Gix02
Gix02
10
X 0 X

Inserisci il tag <img /> nella tua pagina html. Il campo src deve rimandare allo script image.php e devi fornire l'id dell'immagine da riprodurre. Per cui devi avere questo indirizzo per ottenere un'immagine:

http://www.example.com/image.php?ID=2

Nella query da cui ottieni i dati per il ciclo while devi avere un campo che indica a immagine deve fare riferimento in modo da inserire la cosa automaticamente nel ciclo while.

Ultima cosa: indenta il tuo codice e rendilo più leggibile.

risposto 4 anni fa
Mario Santagiuliana
io sto lavorando in locale.. quindi come diventa? mi potresti scrivere bene come diventerebbe il codice? scusami ma sono ancora poco pratico con il php!Gix02 4 anni fa
Puoi utilizzare un url in locale. Nel tuo database devi avere il riferimento all'id dell'immagine da prelevare.Mario Santagiuliana 4 anni fa
e con la sintassi corretta come sarebbe?Gix02 4 anni fa
X 1 X
Effettua l'accesso o registrati per rispondere a questa domanda