Champ NULL

Fermé
amaraamani Messages postés 5 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 13 novembre 2016 - Modifié par amaraamani le 17/05/2016 à 20:12
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 18 mai 2016 à 10:59
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

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
17 mai 2016 à 22:40
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
amaraamani Messages postés 5 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 13 novembre 2016
Modifié par jordane45 le 18/05/2016 à 10:57
<?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
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
18 mai 2016 à 10:59
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