Caricare immagine da Mysql su evento click-radio

Filippo Berardo

Nuovo Utente
21 Nov 2014
4
0
0
Ciao

ho creato una pagina php con 3 radio che se ci clicco sopra vorrei si caricasse una immagine in un DIV separato, che sta un po a lato. Però non mi funziona.
Un aiutino?
grazie.
il codice che ho usato è questo :

Codice:
echo "<input type='radio' id='tab-$c' name='tab-group-1' $checked onclick='CampoClick($c);' value='$c'>";

e poi ho creato una funzione JS che è :
Codice:
function CampoClick(img) {
    //alert(img);
    document.getElementById('riquadroimmaginecampo')
    .innerHTML = '<img src="openimage.php?id='+img+'/>';
}

e nel file openimage.php c'è :

Codice:
$blobId=$_GET['id'];
if(!is_numeric($blobId)) 
die("blobId invalido");

global $_CONFIG;
$dbQuery = "SELECT immagine_campo FROM campi WHERE id_campo=$blobId";
$result = mysqli_query($_CONFIG['conn'], $dbQuery) or die("File non presenti nel Database"); 
if(mysqli_num_rows($result) == 1) 
{ 
    $fileType = @mysqli_result($result, 0, "file"); 

    $fileContent = @mysqli_result($result, 0, "img");

    header("Content-type: $fileType");  
       echo $fileContent;
} else { Messaggio("non esiste Record."); }
 
Ciao, l'istruzione nella funzione campoclick deve essere scritta su una sola riga
 
OK, l'ho corretto, grazie.
Però nn mi va lo stesso. Cioè non mi pare che richiami la pagina php che carica l'immagine, perché ci ho messo un messaggio dentro e non esce.
 
manca un doppio apice per chiuidere l'attributo src nel tag img
Codice:
document.getElementById('riquadroimmaginecampo').innerHTML = '<img src="openimage.php?id=' + img + '"/>';
 
Ok, ho corretto. Adesso l'html che viene scritto è corretto. Penso che il problema sia nel tipo di dato restituito dalla pagnina php che carica l'immagine. Nel DB io carico un file JPG in questo modo :
Codice:
// Read the file
$fp = fopen($nome_temporaneo, 'r');
$data = fread($fp, filesize($nome_temporaneo));
fclose($fp);
$base64 = chunk_split(base64_encode($data));

e quindi faccio l'update del record.
Quando lo leggo probabilmente non lo leggo bene.
Codice:
dbQuery = "SELECT immagine_campo FROM campi WHERE id_campo=$blobId";
$result = mysqli_query($_CONFIG['conn'], $dbQuery) or die("File non presenti nel Database"); 
if(mysqli_num_rows($result) == 1) 
{     
    $campi_data = mysqli_fetch_assoc($result);
    $img = $campi_data['immagine_campo'];
    mysqli_close();
    header("Content-type: image/jpeg"); 
    echo $img;
//echo (base64_decode($img));
}
 
HO RISOLTO!
l'istruzione Msqli_close() aveva bisogno di 1 parametro e mi bloccava l'esecuzione della pagina php..!! Scusate e grazie.
 

Discussioni simili