Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Update di record dove è contenuto il nome di un' immagine!

    Faccio prima se vi metto lo script e commento:

    <?php
    mysql_query('set names utf8');

    if(!isset($_FILES['foto']['name'])){
    $titolo=$_POST["titolo"];
    $articolo=$_POST["articolo"];
    $autore=$_POST["autore"];
    $data=$_POST["data"];
    $id=$_POST["id_articolo"];

    $aggiornamento=("UPDATE news SET titolo='$titolo',articolo='$articolo',autore='$aut ore',data='$data' WHERE id='$id'");
    $controllo=mysql_query($aggiornamento) or die(mysql_error());
    }
    else{
    $file=basename($_FILES['foto']['name']);
    $immagine="$file";
    $titolo=$_POST["titolo"];
    $articolo=$_POST["articolo"];
    $autore=$_POST["autore"];
    $data=$_POST["data"];
    $id=$_POST["id_articolo"];

    $aggiornamento=("UPDATE news SET immagine='$immagine',titolo='$titolo',articolo='$a rticolo',autore='$autore',data='$data' WHERE id='$id'");
    $controllo=mysql_query($aggiornamento) or die(mysql_error());
    }
    ?>


    L'intenzione è semplice, in un precedente form(questo è lo script di elaborazione) do la possibilità all'utente di modificare certe cose, tra cui la foto associata a un articolo.Nel database non è ovviamente salvata la foto ma solo il nome della foto(es:fotoprova.jpg) poi su altre pagine mi basta tirar fuori il nome e via mi visualizzo la foto.
    Ora ci può essere la possibilità in cui uno voglia lasciare la foto come stà ma vuole modificare altre cose.Con questo intento ho piazzato l'if iniziale che dovrebbe controllare se uno ha caricato una nuova immagine oppure no, nel caso in cui non l'abbia fatto, deve aggiornare solo gli altri campi altrimenti deve aggiornare tutto.
    Il problema è che mi aggiorna sempre tutto che ci sia o no un file nel form riguardande l'immagine, capirete che se non metto nulla, mi cancella quello che c'era prima.
    Insomma devo controllare che ci sia o no un file caricato nel form, se c'è aggiorna se non c'è deve lasciare tutto com'era prima.

    Scusate il papiello spero possiate aiutarmi!

    Grazie

  2. #2
    Scusa la domanda ma non ti conviene mettere nel campo del form il nome della vecchia foto così, se nel caso l'utente cambia foto viene passato il nuovo valore, altrimenti passa quello vecchio?
    Che tu aggiorni il database con lo stesso valore a mysql non interessa, mentre tu hai un problema in meno
    Poi usi solo la seconda query:
    Codice PHP:
    $file=basename($_FILES['foto']['name']);
    $immagine="$file";
    $titolo=$_POST["titolo"];
    $articolo=$_POST["articolo"];
    $autore=$_POST["autore"];
    $data=$_POST["data"];
    $id=$_POST["id_articolo"];

    $aggiornamento=("UPDATE news SET immagine='$immagine',titolo='$titolo',articolo='$articolo',autore='$autore',data='$data' WHERE id='$id'");
    $controllo=mysql_query($aggiornamento) or die(mysql_error()); 
    Ciao!

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.