Update Immagine Database

di il
5 risposte

Update Immagine Database

Salve a tutti avrei bisogno urgente di un aiuto..in pratica io ho un database mysql dove all' interno salvo il percorso della foto, e su una cartella del dominio salvo le foto. Fin qui tutto bene, ma non riesco a fare un update di quella foto..in pratica ho provato a tirare su un po di codice ma non succede nulla..aiutatemi sto impazzendo.



<?php
include 'connessione.php';
$id=$_GET['ID'];
$foto=$_POST[file_foto];
if(!is_dir("uploads-foto-prodotti")){
	mkdir("uploads-foto-prodotti");
	
	
	
	}
	





function savedata(){
		global  $_FILES,$_POST,$putItAt;
		
		
		 $query="UPDATE  prodotti SET  FileLocation='$foto' WHERE ID='$id'";
          mysql_query($query); 
			
		}



		
		
		
$putItAt="uploads-foto-prodotti/".basename($_FILES['file_foto']['name']);
$putItAt=str_replace(".php","txt",$putItAt);




if (($_FILES["file_foto"]["type"] == "image/gif")
|| ($_FILES["file_foto"]["type"] == "image/jpeg")
|| ($_FILES["file_foto"]["type"] == "image/jpg")
|| ($_FILES["file_foto"]["type"] == "image/pjpeg")
|| ($_FILES["file_foto"]["type"] == "image/x-png")
|| ($_FILES["file_foto"]["type"] == "image/png")
|| ($_FILES["file_foto"]["size"] < 20000)){
  		
  	
		
      move_uploaded_file($_FILES["file_foto"]["tmp_name"],$putItAt );
	 
	  savedata();
      echo "Salvato in: " . "uploads-foto-prodotti/" . $_FILES["file_foto"]["name"];
}
	  
	  else {
		
		copy($_FILES['file_foto']['tmp_name'],$putItAt);
			savedata();
			
			
			
			
			}
			
	
	
	

		


	  
	  
    
  


?>













5 Risposte

  • Re: Update Immagine Database

    Ciao, se ho capito bene tu vorresti aggiornare un singolo file,
    Quindi penso dovresti fare un semplice nuovo caricamento della nuova immagine poi nel database invece di usare la query INSERT, dovresti fare un UPDATE ( ovviamente tieni in memoria ID ), e se non vuoi tenere inutilmente il file sul server basta eliminare il file con la funzione unlink.

    Non riesco a scriverti il codice perché ho un sonno incredibile, se mi collego domattina ti scrivo il codice

    Ciao
    Marco


    Sent from my iPad using Tapatalk
  • Re: Update Immagine Database

    Ciao, si praticamente penso sia cosi, ti spiego meglio, ho un prodotto con:

    Modello :
    Macchinario:
    Prezzo:
    Foto : --- Visualizzabile ---

    Praticamente l update di modello macchinario e prezzo gli riesco a fare, ma ho problemi nel capire forse come fare per un immagine, tieni presente che io in teoria dovrei caricarla sul server, in una cartella e poi salvare il suo percorso nel db aggiornando il campo esistente.
  • Re: Update Immagine Database

    Allora perfetto, devi fare appunto un update. Ora ti spiego meglio:

    immagino che dove inserisci il tuo "prodotto" avrai un campo form che con l'invio ti inserisce tutti i dati all'interno del database e ti carica la foto sul server, dunque non devi fare nient'altro che la stessa identica cosa.

    In questo caso devi editare il tuo prodotto, quindi dovresti richiamare la tua pagina dove inserisci i dati solo che in questo caso con un tasto che chiamiamo "edit", dove il link sara cosi composto ( nomedellatuapagina.php?id=(id del prodotto)&action=edit

    aprendo la suddetta pagina, ci sarà un if:

    if($_REQUEST['action'] == 'edit') {
    $id = $_REQUEST['id']; // prelevi id del prodotto
    //qui esegui una query select in modo che ti prelevi i dati
    $dati = mysql_fetch_array(mysql_query("SELECT * FROM tabella WHERE id = '$id'"));
    }

    all'interno dei campi input in value esegui un echo dei valori prelevati poco fa

    imposti un campo hide in modo da inserire id del tuo prodotto

    <input type="text" name="xyz" value="<?php echo $dati['nome'] ?>" />

    dopo di ché ci sarà anche il campo input file per eseguire upload della tua immagine.
    Qui lasci tutto com'è, e all'invio del form vai alla tua bella pagina php che ti esegue un update

    invia a -> updatecampi.php

    esegui tutto il tuo codice solo che per aggiornare il DB invece di usare la query insert, non ti resta che usare la query updat:

    mysql_query("UPDATE tabella SET x = y, z = a WHERE id = $id");

    e il gioco è fatto
    spero di essere stato chiaro

    ciao
  • Re: Update Immagine Database

    Ragazzi scusate ho rivisto il codice e cercato di ragionarci ma non ci arrivo potete darmi una mano ???

    Questo è il codice per fare l update :
    
    
    
    <html>
    	
    	
    	<body>
    		
    		<?php
    	   
    	   
    	
    	   include 'connessione.php';
    	   $id=$_GET['ID'];
    	   $sql="SELECT * FROM prodotti WHERE ID='$id'  ";
    	   $ris=mysql_query($sql);
    	   
    	   while($row=mysql_fetch_array($ris))
    	   {
    	   	
    	
    	echo "
    	<form enctype=\"multipart/form-data\" method=\"POST\" action=\"modifica_foto.php\" >
    	<div  style=\"background-color:#62BFFD; border:2px; padding:20px; \">
    	<p style=\"text-align:center\";> CODICE ID PRODOTTO: $row[ID] </p>
    	
    	
    	
    
    	
    	
    	   
     <a href=\"javascript:popImage('$row[FileLocation]','$row[nome_m]')\"><img src=\"$row[FileLocation]\" width=\"100\" height=\"100\" border=\"2px\" /></a>
    	
    <br/>Scegli una nuova foto per aggiornare il prodotto<br/>
    
    <input name=\"file_foto\" type=\"file\"/><br/>
    	
    	
    	
    	
    	
    	
    	
    	
    	Codice Prodotto: <input type=\"text\" name=\"id\" value=\" \" /> </br>
    	
        Nome: <input type=\"text\" name=\"nome_m\" value=\" $row[nome_m] \" /> </br>
    	 Marca: <input type=\"text\" name=\"marca_m\" value=\" $row[marca_m] \" /></br>
    	  Modello<input type=\"text\" name=\"modello_m\" value=\" $row[modello_m] \" /></br>
    	 Anno: <input type=\"text\" name=\"anno_m\" value=\" $row[anno_m] \" /> </br>
    	 Lunghezza:  <input type=\"text\" name=\"lunghezza_m\" value=\" $row[lunghezza_m] \" /></br>
    	Larghezza:  <input type=\"text\" name=\"larghezza_m\" value=\" $row[larghezza_m] \" /></br>
    	Altezza:  <input type=\"text\" name=\"altezza_m\" value=\" $row[altezza_m] \" /> </br>
    	Peso:  <input type=\"text\" name=\"peso_m\" value=\" $row[peso_m] \" /></br>
    	</br>Descrizione:  </br><textarea name=\"descrizione_m\" style=\"min-height:80px; width:300px;\"> $row[descrizione_m] </textarea> 
    	
     </br>	<input style=\"padding:10px; text-size:15px;\" type=\"submit\" value=\"Aggiorna\"/>
    	<hr>
    	
    	</div>
    	</form>
    	
    	
    	
    	
    	
    	
    	"
    	;
    }
    	   
    	   
    	   
    	   
    	   
    	   
    	   
    	   
    	   
    	
    		?>
    		
    		
    		
    		
    		
    	</body>
    	
    	
    	
    	
    	
    </html>
    
    
    
    


    e questo lo script :


    
    
    
    <?php
    include 'connessione.php';
     $id=$_POST[id];
    	 
       $nome=$_POST[nome_m]; 
        $marca=$_POST[marca_m];
        $modello=$_POST[modello_m];
        $anno=$_POST[anno_m];
        $lunghezza_m=$_POST[lunghezza_m];
     $larghezza_m=$_POST[larghezza_m];
     $altezza=$_POST[altezza_m];
     $peso=$_POST[peso_m];
     $descrizione=$_POST[descrizione_m];
    
    $foto=$_POST[file_foto];
    if(!is_dir("uploads-foto-prodotti")){
    	mkdir("uploads-foto-prodotti");
    	
    	
    	
    	}
    	
    
    
    
    
    
    function savedata(){
    		global $_GET,  $_FILES,$_POST,$putItAt;
    		  
    	
    
    $sql="UPDATE prodotti SET
    
    nome_m='$nome',
    marca_m='$marca',
    modello_m='$modello',
    anno_m='$anno',
    lunghezza_m='$lunghezza',
    larghezza_m='$larghezza',
    altezza_m='$altezza',
    peso_m='$peso',
    descrizione_m='$descrizione',
    FileLocation='$foto'
    
    WHERE ID='$id'";
    
    $result=mysql_query($sql) or die(mysql_error());
    
    echo"Prodotto Aggiornato con successo!";
    echo "<a style=\"text-size:30px; color:#0BC543; \" href=\"panello.php\"> Clicca qui per tornare al Pannello Amministrazione! </a> ";
    		
    		
    		
    			
    		}
    
    
    
    		
    		
    		
    $putItAt="uploads-foto-prodotti/".basename($_FILES['file_foto']['name']);
    $putItAt=str_replace(".php","txt",$putItAt);
    
    
    
    
    if (($_FILES["file_foto"]["type"] == "image/gif")
    || ($_FILES["file_foto"]["type"] == "image/jpeg")
    || ($_FILES["file_foto"]["type"] == "image/jpg")
    || ($_FILES["file_foto"]["type"] == "image/pjpeg")
    || ($_FILES["file_foto"]["type"] == "image/x-png")
    || ($_FILES["file_foto"]["type"] == "image/png")
    || ($_FILES["file_foto"]["size"] < 20000)){
      		
      	
    		
          move_uploaded_file($_FILES["file_foto"]["tmp_name"],$putItAt );
    	 
    	  savedata();
          echo "Salvato in: " . "uploads-foto-prodotti/" . $_FILES["file_foto"]["name"];
    }
    	  
    	  else {
    		
    		copy($_FILES['file_foto']['tmp_name'],$putItAt);
    			savedata();
    			
    			
    			
    			
    			}
    			
    	
    	
    	
    
    		
    
    
    	  
    	  
        
      
    
    
    ?>
    
    
    
    
    
    

    Aiutatemi per favore forse non ci proprio arrivo!!
  • Re: Update Immagine Database

    Con questo codice qui..mi fa l upload corretto sul server in quella cartella, ma nel database mysql non cambia, non fa di fatto la query ...aiutatemi sarà forse una cavolata ma sto impazzendo..!!!!
Devi accedere o registrarti per scrivere nel forum
5 risposte