Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Inserire nel db campo di immagine solo se pieno

    Dovrei inserire nel db il valore del campo di immagine solo nel caso in cui nel modulo quel campo e' stato riempito.

    Come posso fare?

    in pratica io per ogni id inserisco il nome della foto con accanto l'id, in modo che se vengono uploadate 2 foto con lo stesso nome, una avra' il trattino e il numero dell'id, per esempio

    mare.jpg
    mare-1.jpg

    Il problema e' che se non riempio il campo di file, nel db entra il numero dell'id, comq posso fare in modo che questo non entri?

    ecco il codice che sto usando
    Codice PHP:
    $query ="select id from news";
    $risultato_query = @mysql_query($query
    or die(
    "Impossibile eseguire l'interrogazione."); 
    $i=1;
    while (
    $riga mysql_fetch_array($risultato_query)) {
    $id $riga['id']; //inserire il primo id a capocchia
    $i++;
    }

    if(!isset(
    $_FILES)) $_FILES $HTTP_POST_FILES;
    if(!isset(
    $_SERVER)) $_SERVER $HTTP_SERVER_VARS;
    $titolo=$_POST['titolo'];
    $categoria=$_POST['categoria'];
    $news=$_POST['news'];
    $news nl2br($news);
    $foto_name1 $_FILES['foto1']['name'];
    $foto_name2 $_FILES['foto2']['name'];
    $foto_name3 $_FILES['foto3']['name'];

    $sql "insert into news
    (id, titolo, categoria, foto1, foto2, foto3, news, data) 
    values 
    (NULL,\"
    $titolo\",\"$categoria\",\"$i-$foto_name1\",\"$i-$foto_name2\",\"$i-$foto_name3\",\"$news\",NOW())";
    $risultato = @mysql_query($sql)
    or die (
    mysql_errno() . ": " mysql_error()); 
    Mai dire Mai

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    Se non ho capito male, tu vuoi che i campi della tabella vengano riempiti solo se vengono effettivamente inviati dalla form.
    Io spezzerei la query di inserimento in più query così:

    Codice PHP:
    if(isset($_FILES['foto1'])){ 
    $sql "insert into news (id, titolo, categoria, foto1,  news, data) 
    values (NULL,'
    $titolo','$categoria','$i-$foto_name1','$news',NOW())";//invece di mettere \" e \", puoi   mettere semplicemente l'apice ' :)
     
    $risultato = @mysql_query($sql) or die (mysql_errno() . ": " mysql_error()); 
    }
     if(isset(
    $_FILES['foto2'])) 

    $sql1 "insert into news (id, titolo, categoria, foto2,  news, data) values (NULL,'$titolo','$categoria','$i-$foto_name2','$news',NOW())";
     
    $risultato1 = @mysql_query($sql1) or die 
    (
    mysql_errno() . ": " mysql_error());
     } 
    //così anche per la terza foto 

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.