IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Ne pas enregistrer un champ vide [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Points : 44
    Points
    44
    Par défaut Ne pas enregistrer un champ vide
    Bonjour à tous,

    je possède un formulaire qui enregistre et actualise des données. Je récupére toute les valeur des mes "inputs text" si celle-ci sont modifiés ou non.

    Mais le problème est que j'ai également des "inputs file", donc impossible de loader la valeur de la base dans son champs. Donc, si j'actualise les données dans ma base, le champ "file" enregistrera un champ vide si celui-ci n'a pas été renseigner.

    Alors pour eviter de supprimer une donnée si le champ file n'a pas été (re) renseigner, je souhaiterai pouvoir enregistrer dans ma base, que les champs qui ont été renseigner !!

    Je crois que c'est possible avec la fonction isset ou empty, mais je ne maitrise pas cette syntaxe..


    En l'occurrence, mon probléme s'applique au champs "vignette" et les champs "photo1" , "photo2" , "photo3" , "photo4" , "photo5". Je souhaite ne pas actualiser les valeurs non-renseigner dans ma base, mais enregister ceux qui le sont.

    Voilà voilà

    Voici mon code :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    <?php
    $liendb = mysql_connect("$bddserver", "$bddlogin", "$bddpassword");
    mysql_select_db ("$bdd");
     
    $idannoncepro = $_POST['idannoncepro'];
    $emailpro = $_POST['emailpro'];
    $telephone = $_POST['telephone'];
    $adresse = $_POST['adresse'];
    $ville = $_POST['ville'];
    $intitule = $_POST['intitule'];
    $rubrique = $_POST['rubrique'];
    $liensite = $_POST['liensite'];
    $contenuannonce = $_POST['contenuannonce'];
    $vignette = $_POST['vignette'];
    $photo1 = $_POST['photo1'];
    $photo2 = $_POST['photo2'];
    $photo3 = $_POST['photo3'];
    $photo4 = $_POST['photo4'];
    $photo5 = $_POST['photo5'];
    $monactus = $_POST['monactus'];
     
    $sql = "UPDATE espacepro SET emailpro = '$emailpro', telephone = '$telephone', adresse = '$adresse', ville = '$ville', intitule = '$intitule', rubrique = '$rubrique', liensite = '$liensite', contenuannonce = '$contenuannonce', vignette = '$vignette', photo1 = '$photo1', photo2 = '$photo2', photo3 = '$photo3', photo4 = '$photo4', photo5 = '$photo5', monactus = '$monactus' WHERE idannoncepro='".$_POST['idannoncepro']."'";	
     
     
     
     
     
     
    if(!empty($_POST['adresse']))
       { echo 'Le champ est rempli !';}
    else{  echo 'no image.';}
     
     
     
     
     
     
    if (mysql_query($sql) !=false) {
     
     
    	if (is_uploaded_file ($_FILES['vignette']['tmp_name'])) {	
    	$extfile=(substr($_FILES['vignette']['name'],-3));
    		move_uploaded_file ($_FILES['vignette']['tmp_name'],"../espacepro/images/image_espacepro/vignette/"."vignette_".$idannoncepro.".".$extfile);
    		$sql = "UPDATE espacepro SET vignette='vignette_".$idannoncepro.".".$extfile."' WHERE idannoncepro=".$idannoncepro."";
    		if (mysql_query($sql) !=false) {
    			print("<center><img src='".$_FILES['vignette']['tmp_name']."'/></br>Transfert de votre logo r&eacute;ussi</center></hr>");
    			}
    			}	
     
    	if (is_uploaded_file ($_FILES['photo1']['tmp_name'])) {	
    	$extfile=(substr($_FILES['photo1']['name'],-3));
    		move_uploaded_file ($_FILES['photo1']['tmp_name'],"../espacepro/images/image_espacepro/photo/"."photo_".$idannoncepro.".".$extfile);
    		$sql = "UPDATE espacepro SET photo1='photo_".$idannoncepro.".".$extfile."' WHERE idannoncepro=".$idannoncepro."";
    		if (mysql_query($sql) !=false) {
    			print("<center><img src='".$_FILES['photo1']['tmp_name']."'/></br>Transfert de votre logo r&eacute;ussi</center></hr>");
    			}
    			}	
     
     
    	if (is_uploaded_file ($_FILES['photo2']['tmp_name'])) {	
    	$extfile=(substr($_FILES['photo2']['name'],-3));
    		move_uploaded_file ($_FILES['photo2']['tmp_name'],"../espacepro/images/image_espacepro/photo/"."photo_".$idannoncepro.".".$extfile);
    		$sql = "UPDATE espacepro SET photo2='photo_".$idannoncepro.".".$extfile."' WHERE idannoncepro=".$idannoncepro."";
    		if (mysql_query($sql) !=false) {
    			print("<center><img src='".$_FILES['photo2']['tmp_name']."'/></br>Transfert de votre logo r&eacute;ussi</center></hr>");
    			}
    			}	
     
     
    	if (is_uploaded_file ($_FILES['photo3']['tmp_name'])) {	
    	$extfile=(substr($_FILES['photo3']['name'],-3));
    		move_uploaded_file ($_FILES['photo3']['tmp_name'],"../espacepro/images/image_espacepro/photo/"."photo_".$idannoncepro.".".$extfile);
    		$sql = "UPDATE espacepro SET photo3='photo_".$idannoncepro.".".$extfile."' WHERE idannoncepro=".$idannoncepro."";
    		if (mysql_query($sql) !=false) {
    			print("<center><img src='".$_FILES['photo3']['tmp_name']."'/></br>Transfert de votre logo r&eacute;ussi</center></hr>");
    			}
    			}	
     
     
    	if (is_uploaded_file ($_FILES['photo4']['tmp_name'])) {	
    	$extfile=(substr($_FILES['photo4']['name'],-3));
    		move_uploaded_file ($_FILES['photo4']['tmp_name'],"../espacepro/images/image_espacepro/photo/"."photo_".$idannoncepro.".".$extfile);
    		$sql = "UPDATE espacepro SET photo4='photo_".$idannoncepro.".".$extfile."' WHERE idannoncepro=".$idannoncepro."";
    		if (mysql_query($sql) !=false) {
    			print("<center><img src='".$_FILES['photo4']['tmp_name']."'/></br>Transfert de votre logo r&eacute;ussi</center></hr>");
    			}
    			}	
     
    	if (is_uploaded_file ($_FILES['photo5']['tmp_name'])) {	
    	$extfile=(substr($_FILES['photo5']['name'],-3));
    		move_uploaded_file ($_FILES['photo5']['tmp_name'],"../espacepro/images/image_espacepro/photo/"."photo_".$idannoncepro.".".$extfile);
    		$sql = "UPDATE espacepro SET photo5='photo_".$idannoncepro.".".$extfile."' WHERE idannoncepro=".$idannoncepro."";
    		if (mysql_query($sql) !=false) {
    			print("<center><img src='".$_FILES['photo5']['tmp_name']."'/></br>Transfert de votre logo r&eacute;ussi</center></hr>");
    			}
    			}	
     
     
    }
    else
    	print("Echec lors de la cr&eacute;ation de la fiche.");
     
    ?>

    Merci à ceux et celles qui me donneront un coup de pouce..

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    $sql = "UPDATE espacepro SET emailpro = '$emailpro'";	
     
    if(!empty($_POST['adresse']))
       { $sql .= ", adresse = '$adresse'";}
     
    // Idem pour tous les champs
     
    $sql .= " WHERE idannoncepro='".$_POST['idannoncepro']."'"
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Points : 44
    Points
    44
    Par défaut
    Merci seb pour ta réponse!!

    c'est nikel, les champs vides ne remplissent plus la base.

    c'est juste ce qu'il me fallait,
    h@ve @ nice

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment ne pas afficher un champs vide dans un template
    Par altair8080 dans le forum AngularJS
    Réponses: 3
    Dernier message: 18/05/2015, 21h33
  2. [AC-2000] Récupérer un enregistrement avec champ vide
    Par Remus91 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 29/07/2009, 15h20
  3. Réponses: 2
    Dernier message: 18/11/2008, 14h49
  4. Affichage enregistrements avec champs vides
    Par Tybot dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2008, 10h10
  5. je ne peux pas poster un champs vide avec un TIBClientDataSet
    Par atb dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/04/2007, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo