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 :

Impossible d'envoi une requete sur ma table avec les button


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Impossible d'envoi une requete sur ma table avec les button
    Salut,

    Alors voilà mon soucis je n'arrive pas à écrire sur ma table je ne sais pas ou je me plante ça fait quelque jour que je bloque dessus voici le 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
    <tr>
     
      <td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $row ['CD_NOM'                   ] ; ?>  </td>
     	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $row ['CD_PRENOM'               ] ; ?>  </td>
     
    	<?php 
     
    	$conn =  mysqli_connect("localhost","root","","emak");
     
    	if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      } 
     
     
        if(isset($_POST['appel'])){
     
     
    	$req = $conn->prepare('INSERT INTO tableau_journalier(CD_PRESENT, CD_NOM, CD_PRENOM, HEURE_COURS, DF_CLASSE) VALUES(?, ?, ?, ?, ?)');
    $req->bind_param(
       'sssss',
       $_POST['appel'],
       $_POST['CD_NOM'],
       $_POST['CD_PRENOM'],
       $_POST['HEURE_COURS'],
       $_POST['DF_CLASSE']
    );
    if($req->execute()) { // execute() répond true/false
       echo " La requête fonctionne ! ";
    } else {
       echo "Echec lors de l'exécution de la multi-requête : (" . $req->errno . ") " . $req->error;
    }
     
    } 
     
    	elseif(!isset($_POST['appel'])){
     
    	echo 'Vous n\'avez rien selectionné ';
     
    }
     
     
    	?>
     
    	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  
     
    		<form method="post" action="rolecontents.php">
    	<p>
           <input type="radio" name="appel" value='P' id="P" /> <label for="P">Présent</label><br />
           <input type="radio" name="appel" value='A'  id="A" /> <label for="A">Absent</label><br />
    	</p>
    	<input type="submit" name="submit" value="Envoyer" />
     
    	</form>
     
    	</td>
    	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $row ['HEURE_COURS'               ] ; ?>  </td>
    	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $row ['DF_CLASSE'               ] ; ?>  </td>
    Voici l'erreur que j'ai : Echec lors de l'ex�cution de la multi-requ�te : (1048) Column 'CD_NOM' cannot be null Echec lors de l'ex�cution de la multi-requ�te : (1048) Column 'CD_NOM' cannot be null


    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    L'erreur indique que la colonne CD_NOM est nulle alors qu'elle ne devrait pas l'être.
    Est-ce normal d'avoir 5 "?" et 6 paramètres dans bind_param ?
    Christophe

    Pensez à mettre quand c'est le cas.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Non le 'sssss' n'est pas une valeur, mais c'est une chaîne indiquant à mysqli le typage des valeurs qui suivent. 5 strings ici.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    L'erreur t’indique que tu as envoyé null comme valeur pour alimenter la colonne CD_NOM. Donc logiquement c'est que la valeur de $_POST['CD_NOM'] est vide.
    Ce qui est assez logique vu que le seul champ présent dans ton formulaire, c'est le champ appel.

    Est-ce que ça ne devrait pas plutôt être $row['CD_NOM'] ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre régulier
    Avatar de sourcilpower
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2011
    Messages : 128
    Points : 124
    Points
    124
    Billets dans le blog
    2
    Par défaut
    ton $_POST['CD_NOM'] est null car il n'existe pas lors de l'envoie
    N'oublie pas le pouce vert

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    salut, désoler de mon absence.

    voilà j'ai modifier mon code et voici ce que ça me fait quand je clique sur absent ou present.





    code de la page:

    Code php : 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
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
      <?php include "conn.inc.php";?>
    <html>
    <head>
    <title> EMAK-LISTE DES ELEVES</title>
    <style type="text/css">
    TD{color :#353535;font-family:verdana }
    TH{color :#FFFFFF;font-family:verdana;background-color:#336699 }
    </style>
    </head>
    <style type="text/css"></style>
    <LINK href="/emak/app/stili/st.css" type=text/css rel=stylesheet>
    <body bgcolor="#AEC7DF" LEFTMARGIN="0" TOPMARGIN="0" marginwidth="0" marginheight="0">
     
    <table  border="0" height="99.5" width="93.5%">
    <CAPTION>
    <tr>
              <td bgcolor ="#004080" colspan ="2" align="center" CLASS="title2">            	                                                                                                         
                        	      L'APPEL DE PRESENCE 
              	<a HREF="">
                   <input name="button" type="image" class="NavButton" id="button1" onClick="window.print();" value="Imprimer" src="/emak/app/images/print.png"> 
                </a>     
            </td>
          </tr>
    </CAPTION>
    <tr>
     
     
     
    <!--titres des colonnes!--> 
    <tr>
          <td bgcolor ="gray" align="center" colspan ="1"  width ="20%" class ="tx4" >  Nom                          </td>
          <td bgcolor ="gray" align="center" colspan ="1"  width ="20%" class ="tx4" >  Prenom                     </td>
    	  <td bgcolor ="gray" align="center" colspan ="1"  width ="20%" class ="tx4" >  Present/Absent              </td>
    	  <td bgcolor ="gray" align="center" colspan ="1"  width ="20%" class ="tx4" >  Heure de cours                   </td>
    	  <td bgcolor ="gray" align="center" colspan ="1"  width ="20%" class ="tx4" >  Classe                     </td>
          <td bgcolor ="#AEC7DF" align="center" colspan ="1"  width ="13%" class ="tx4" >                                </td>
     </tr>
     
      <?php
    	try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=emak;charset=utf8', 'root', '');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
            $reponse = $bdd->query('SELECT * FROM   tableau_journalier  order by id ');
    		while ($donnees = $reponse->fetch())
             {
          ?>
     
     
    <!--détail des lignes!--> 
    <tr>
     
      <td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $donnees ['CD_NOM'                   ] ; ?>  </td>
     	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $donnees ['CD_PRENOM'               ] ; ?>  </td>
    <?php	
     
    	try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=emak;charset=utf8', 'root', '');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     
    	$appel = $_POST['appel'];
     
        if(isset($_POST['appel'])){
     
     
    	$req = $bdd->prepare('INSERT INTO tableau_journalier(CD_PRESENT) VALUES(:appel)');
    $req->execute(array(
     
    	'appel' => $appel
       ));
     
     
    if($req->execute()) { // execute() répond true/false
       echo " La requête fonctionne ! ";
    } else {
       echo "Echec lors de l'exécution de la multi-requête : (" . $req->errno . ") " . $req->error;
    }
     
    } 
     
    	elseif(!isset($_POST['appel'])){
     
    	echo 'Vous n\'avez rien selectionné ';
     
    }
     
     
    	?>
     
    	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  
     
    		<form method="post" action="rolecontents.php">
    	<p>
           <input type="radio" name="appel" value='P' id="P" /> <label for="P">Présent</label><br />
           <input type="radio" name="appel" value='A'  id="A" /> <label for="A">Absent</label><br />
    	</p>
    	<input type="submit" name="submit" value="Envoyer" />
     
    	</form>
     
    	</td>
    	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $donnees ['HEURE_COURS'               ] ; ?>  </td>
    	<td bgcolor ="white" align="center" width ="20%"  class ="tx4" >  <?php echo $donnees ['DF_CLASSE'               ] ; ?>  </td>
      <td bgcolor ="#AEC7DF"    align="center" width ="13%" align ="right">
      	          <a href ="editliste.php?action=edit&id=<?php  echo $row['ID'] ; ?>"> 
                 	 <img src="/emak/app/images/edit.png"  alt="Modifier"  LEFTMARGIN="0" ALIGN=left>           	 
                 </a>       
     
                <!--a HREF="">
                   <input name="button" type="image" class="NavButton" id="button1" onClick="myFunction();" 
                   value="Imprimer" src="/emak/app/images/delete.png"> 
                </a!-->
     
                 <a href ="delliste.php?type=liste_eleve&id=<?php   echo $row['ID'] ; ?>"> 
                 	   <img src="/emak/app/images/delete.png"  alt="Eliminer" LEFTMARGIN="0" ALIGN=left>     
                 </a>
     
     
     
     
       </td>
     </tr>
     
    </tr> 
     
          <?php
           }
          ?>
     
     
     
    </table>
     
    </body>

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Up, personne pour m'aider ?

Discussions similaires

  1. Requete sur plusieurs table avec les memes champs
    Par broule dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/02/2010, 19h57
  2. [Conception] Affichage d'une requete sur plusieurs tables
    Par djinko dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/04/2007, 14h43
  3. Réponses: 4
    Dernier message: 23/10/2006, 09h09
  4. [vb6]faire une requete sur plusieurs tables
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/07/2006, 02h06
  5. Une requete sur 3 tables différentes. [Le retour]
    Par CritikKiller dans le forum Requêtes
    Réponses: 11
    Dernier message: 13/03/2006, 01h43

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