Champ NULL

amaraamani Messages postés 5 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir

je viens de réaliser une plateform de gestion des structure de recherche, dans le formulaire de l'ajout d'un chercheur , il y a le champ structure qui est une clé etrangere (les structure dans lesquelles il participe) , c'est une liste roulante dynamique (libellé de la table structure).

mais le prob que la relation chercheur-structure est 0-N.

j'ai ajouté "aucun" mais le prob que lorsque je choisi aucun l'ajout ne se fait pas.

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour
    merci de coller le code directement sur le forum en prenant soin d'utiliser les balises de code
    (Le php + le formulaire html)
    0
  2. amaraamani Messages postés 5 Statut Membre
     
    <?php
    
    if(isset($_POST["ajouter"]))
    {
            $NCIN= $_POST['NCIN'];
            $nom=$_POST['nom'];
            $prenom=$_POST['prenom'];
      $dn=$_POST['dn'];
            $fonction=$_POST['fonction'];
            $etablissement=$_POST['etablissement'];
            $dp=$_POST['dp'];
            $ap=$_POST['ap'];
      $ae=$_POST['ae'];
      $nt=$_POST['nt'];
      $np=$_POST['np'];
      if(isset($_POST['structure']) == "aucune" ) { 
      $structure = NULL ; } else {
      $structure=$_POST['structure'];}
      
             
    
    
            $connexion=mysqli_connect("localhost","root","");
            if(!$connexion){
            echo"connexion impossible\n";
            exit;}
            if(!(mysqli_select_db($connexion,"gestion2"))){
            echo"Désolé, accès à la base impossible\n";
            exit;}
            $requete = "INSERT INTO chercheur (NCIN, nom, prenom, date_naissance, fonction, etablissement, dernier_diplome, adresse_postale, adresse_electronique, numero_telephone, numero_passeport, structure)
            VALUES('$NCIN', '$nom', '$prenom', '$dn', '$fonction', '$etablissement','$dp' ,'$ap' ,'$ae' ,'$nt' ,'$np', '$structure')";
            $result=mysqli_query($connexion,$requete);
    
            
            if($result>0)
            {
                $erreur="succées d'ajout";
            }else{
                $erreur="Echec d'ajout";
            }
    
    
    }
    
    ?>


    <form role="form" action="<?php  echo $_SERVER['PHP_SELF']; ?>" method="post">
                            <div class="row">
                            <div class="col-lg-6">
                                <div class="form-group">
                                    <label>NCIN</label>
                                    <input type="text" class="form-control" name="NCIN">
                                </div>
                                <div class="form-group">
                                    <label>Nom</label>
                                    <input type="text" class="form-control" name="nom">
                                </div>
                                <div class="form-group">
                                    <label>Prénom</label>
                                    <input type="text" class="form-control" name="prenom">
                                </div>
                                <div class="form-group">
                                    <label>Date De Naissance</label>
                                    <input type="date" class="form-control" name="dn">
                                </div>
                                 <div class="form-group">
                                    <label>Numéro De téléphone</label>
                                    <input type="text" class="form-control" name="nt">
                                </div>
                                 <div class="form-group">
                                    <label>Numéro De Passeport</label>
                                    <input type="text" class="form-control" name="np">
                                </div>
                                </div>
                           
                                     <div class="col-lg-6">
                                <div class="form-group">
                                    <label>Fonction</label>
                                   
                                    <SELECT name="fonction" maxlength="255" class="form-control">
    <OPTION VALUE="enseignant">Enseignant universitaire</OPTION>
    <OPTION VALUE="etudiant">Etudiant</OPTION>
    <OPTION VALUE="ingenieur">Ingénieur</OPTION>
    <OPTION VALUE="retraite">Mastere Recherche</OPTION>
    <OPTION VALUE="retraite">Thesards</OPTION>
    <OPTION VALUE="autre">Autres</OPTION>
    </SELECT>
    </div>
                                 <div class="form-group">
                                    <label>Etablissement</label>
                                   
                                   <SELECT name="etablissement" maxlength="255" class="form-control">
    
    <?php 
    $connexion=mysqli_connect("localhost","root","");
    if(!$connexion){
    echo"connexion impossible\n";
    exit;}
    if(!(mysqli_select_db($connexion,"gestion2"))){
    echo"Désolé, accès à la base impossible\n";
    exit;}
       $sql="select * from etablissement";
       $resultat=mysqli_query($connexion,$sql);
       
       
       while($res=mysqli_fetch_array($resultat))
       {
       echo "<option value='".$res['code']."'> ".utf8_encode($res['libelle'])."</option>";
       }
       echo "</select>";
      
      
    ?>
    
    </div>
                                <div class="form-group">
                                    <label>Dernier Diplome</label>
                                    <input type="text" class="form-control" name="dp">
                                </div>
                                 <div class="form-group">
                                    <label>Adresse Postale</label>
                                    <input type="text" class="form-control" name="ap">
                                </div>
                                 <div class="form-group">
                                    <label>Adresse Electronique</label>
                                    <input type="email" class="form-control" name="ae">
                                </div>
                               
                                <div class="form-group">
                                    <label>Structure</label>
                                   
                                   <SELECT name="structure" maxlength="255" class="form-control">
    <OPTION name="aucune" value="aucune" >aucune</OPTION>
    <?php 
    $connexion=mysqli_connect("localhost","root","");
    if(!$connexion){
    echo"connexion impossible\n";
    exit;}
    if(!(mysqli_select_db($connexion,"gestion2"))){
    echo"Désolé, accès à la base impossible\n";
    exit;}
       $sql="select * from structure";
       $resultat=mysqli_query($connexion,$sql);
       
       
       while($res=mysqli_fetch_array($resultat))
       {
       echo "<option value='".$res['code']."'> ".utf8_encode($res['libelle'])."</option>";
       }
       echo "</select>";
          
     
    ?>
    </SELECT>
    </div>  </div> 
    
    
                               </div><br> <br>  
                               <div class="intro-text text-center">
                               <p><button type="submit" class="btn btn-dark btn-lg"  name="ajouter" title="Submit">Ajouter
                              </button>
                               </div>
                               
                               
                        </form>
    


    EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
    Explications disponibles ici : ICI

    Merci d'y penser dans tes prochains messages.
    0
  3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Hello,

    Donc.. déjà ... commence par séparer la connexion à ta BDD en la mettant dans un autre fichier que tu n'auras qu'à inclure lorsque tu en as besoin.
    Cela t'évitera de devoir la copier/coller dans toutes tes pages ......

    Ensuite, récupère PROPREMENT les variables AVANT de les utiliser.
    https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index

    Puis après ça ...
    Fais un
     print_r($_POST);
    pour voir ce que donne ton formulaire.
    0