record set per immagini

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
Salve ragazzi, sto creando una tabella per il mio sito che debba contenere l'archivio dei miei prodotti, però non so come posso inserire nel database anche le immagini dei prodotti e poi come richiamarle con la query di select che immagino sia diversa da quella solita, almeno credo.... mbho....

il database che ho creato è questo

CREATE TABLE `prodotti` (
`id_prodotto` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome_prodotto` VARCHAR( 60 ) NOT NULL ,
`descrizione_prodotto` BLOB NOT NULL ,
`prezzo` VARCHAR( 20 ) NOT NULL ) ENGINE = innodb;


ho sbagliato a non inserire nulla nella descrizione prodotto poichè è blob? inoltre se per esempio inserissi anche la tabella immagini_prodotto
come con quale query di insert si inseriscono le immagini nel database?
meandri oscuri dell'affascinante programmazione... help me please :(
 
Non riesco a capire il tutorial :(
dice di creare ben tre recordeset nella tabella del database e questo mi svia di molto per logica io ho creato il seguente script che dovrebbe fare la query di insert nella tabella prodotti inserendo la foto nel recordset immagini per poi rinominarla in prodotti.jpg
Non mi da nessun errore ma come output mi dice 0 e non mi inserisce la foto nella tabbella prodotti nel recordeset immagini.

FORM HTML UPLOAD

<html>
<head>
<title>Upload</title>
</head>
<body>
<form enctype="multipart/form-data" action="Uploadmysql.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Invia questo file: <input name="userfile" type="file">
<input type="submit" value="Invia File">
</form>
</body>
</html>


PHP UPLOAD

<?php

$dbhost = 'localhost';
$dbuser = 'DBUSER';
$dbpass = 'DBPASS';
$dbname = 'DBNAME';
$mysql = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);


$query = "INSERT INTO prodotti SET
immagine= '$nomefileimmagine'";

$percorso = query;
$uploadfile = ''.$percorso. basename( $_FILES['Filedata']['name'] );

$success = move_uploaded_file( $_FILES['Filedata']['tmp_name'] , $uploadfile );
$nomefileimmagine=''.$percorso.'prodotto.jpg';

if($success){
echo('1'.$_FILES['Filedata']['name']);
if (file_exists($nomefileimmagine)) {
unlink($nomefileimmagine);
}

$nuovofile= ''.$percorso.$_FILES['Filedata']['name'];
rename($nuovofile,$nomefileimmagine);
}else{
echo('0');
}
?>
 
Ho provat nche questo script non mi da nessun errore ma non mi carica la foto nel recordset immagine :(
<?php

$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$dbname = 'dbname';
$mysql = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

$file_path = $_FILES['fotoUno']['tmp_name'];
$Immagine = base64_encode(file_get_contents($file_path));

$query = "INSERT INTO prodotti SET immagine= '$Immagine'";

mysql_close($mysql);

?>
 
Praticamente dovrei fare l'upload dell'immagine nel recordset immagine nella tabella prodotti del database :(
 
Ragazzi, sto diventando pazzo sono riuscito a creare un upload che invia le immagini in una cartella e che le rinomina con la giuda di Eliox ed è stato semplice e lineare. Però ora non capisco come fare ad abbinare i dati presi nel database con l'immagine inglobata nella cartella del server.
Se richiamo i dati nome_prodotto,descrizione_prodotto,prezzo come faccio a capire qual'è l'immagine relativa al nome prodotto, allla susa descrizione etc etc?
per questo motivo credo sia insispensabile inserire anche le immagini nel database così facendo faccio una SELECT di prodotti e prendo tutto anche la foto ma non sono capace :(
HELP ME PLEASE :crying:
 
manca la funzione per la query:
PHP:
$query = mysql_query("INSERT INTO prodotti SET immagine= '$Immagine'");
 
Ho corretto così ma non funziona non mi da nessun errore ma non carica la foto nel recordset :(

<?php

$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$dbname = 'dbname';
$mysql = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

$file_path = $_FILES['fotoUno']['tmp_name'];
$Immagine = base64_encode(file_get_contents($file_path));
$query = mysql_query("INSERT INTO prodotti SET immagine= '$Immagine'");

mysql_close($mysql);

?>
 
ciao Alessandro non risco a capire di quale funzione parli io ora sto usando questo codice e questo upload html

UPLOAD HTML

<html>
<head>
<title>Upload</title>
</head>
<body>
<form enctype="multipart/form-data" action="Uploadmysql.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Invia questo file: <input name="userfile" type="file">
<input type="submit" value="Invia File">
</form>
</body>
</html>

UPLOAD PHP

<?php

$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$dbname = 'dbname';
$mysql = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

$file_path = $_FILES['fotoUno']['tmp_name'];
$Immagine = base64_encode(file_get_contents($file_path));
$query = mysql_query("INSERT INTO prodotti SET immagine= '$Immagine'");

mysql_close($mysql);

?>
 
Ho tentato un'altra via ovvero quella di inserire una il nome dell'immagine nel database e inserire l'immagine nella directory nel server ma quando provo mi dice errore ovvero va all'echo else di errore
sarà il form upload html?

UPLOAD HTML

<html>
<head>
<title>Upload</title>
</head>
<body>
<form enctype="multipart/form-data" action="Uploadmysql.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Invia questo file: <input name="userfile" type="file">
<input type="submit" value="Invia File">
</form>
</body>
</html>

upload.php

<?php

$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$dbname = 'dbname';
$mysql = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

$insertSQL = "INSERT INTO prodotti($nuovo_nome)VALUES ('".$_POST['immagine']."')";
$ultimo_id=mysql_insert_id();
$file_temp=($_FILES['userfile']['tmp_name']);
$percorso="prodotti/";
$nuovo_nome=$percorso.$ultimo_id.".jpg";
$inviato=file_exists($file_temp);
if($inviato){
echo("file caricato con susccesso");
move_uploaded_file($file_temp,$nuovo_nome);
}else{
echo("errore");
}
mysql_close($mysql);

?>
 
continua a non funzionare. Ma io non capito una cosa.
Ma la query di insert immette fisicamente la foto nel database oppure solo il nome e la directory viene memorizzato nel database?
 

Discussioni simili