PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 11-10-2015 11:06:00

owenn59
Membre
Inscription : 08-08-2015
Messages : 7

Pb bouton submit + update dans bdd

Bonjour à tous!

Je sollicite votre aide car je suis bloqué sur l'envoi de données php vers ma bdd...au stade actuel, j'affiche un table avec une boucle de données et je souhaite modifier chaque id_etat de chaque ligne.
En clair mon tableau boucle sur des personnes s'étant inscrites au préalable et le but et d'attribuer à chacun un groupe et de les enregistrer.
J'ai donc 2 champs groupe et enregistrement...voici le code :

        <!-- Main content -->
        <section class="content">
          <div class="row">
            <div class="col-xs-12">
              <div class="box">
                <div class="box-header">
               
                <h3 class="box-title">DataTable With Fu Features</h3>      

      <?php
      $host = "";
      $user = "";
      $pass = "";
      $bdd = "";
       // connexion
         $cnx = mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
         $db = mysql_select_db("$bdd") or die("Impossible de se connecter");
            if (mysql_connect ($host,$user,$pass))
            {
               echo 'Connexion réussie'; echo '<br>';
            }
            else
            {
               echo 'Connexion impossible...'.mysql_error(); echo '<br>';
            }
           
            $requete2="SELECT id_eta,etat FROM `ny6dh_man_etat`";
            $result2=mysql_query($requete2);
            while ($ligne=mysql_fetch_array($result2))
            {
               $chaine .= '<OPTION  NAME= "id_etat" VALUE="'.$ligne["id_eta"].'">'.$ligne["etat"].'</OPTION>';
            }

            $requete2="SELECT id_grp,groupe FROM `ny6dh_man_groupe`";
            $result2=mysql_query($requete2);
            while ($ligne=mysql_fetch_array($result2))
            {
               $chaine2 .= '<OPTION NAME= "id_groupe" VALUE="'.$ligne["id_grp"].'">'.$ligne["groupe"].'</OPTION>';
            }
      ?>
                             
                </div><!-- /.box-header -->
                <div class="box-body">
                  <table id="example1" class="table table-bordered table-striped">
 <thead>
                      <tr>
                        <th>Genre</th>
                        <th>Nom</th>
                        <th>Prénom</th>
                        <th>Enregistré</th>
                        <th>Groupe</th>                        
                      </tr>
                    </thead> <tbody>                
                   
                   <?php

$sql = "SELECT id,id_etat,genre,nom,prenom,id_eta,etat,age,tel1,ville,mod_souhaite1,id_grp,groupe,id_groupe
FROM `ny6dh_man_eleve` A, `ny6dh_man_groupe` B , `ny6dh_man_etat` C
WHERE A.id_etat = 0
AND A.mod_souhaite1 = 1
AND B.id_grp = A.id_groupe
AND A.id_etat = C.id_eta";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
   
$id = $row["id"];

echo " <tr><td>". $row["genre"]."</td>
      <td>". $row["nom"]."</td>
      <td>". $row["prenom"]."</td>
      <td><form method='post' action='traitement.php'><select name='".$id."' onChange='this.form.submit()'  class='form-control'>". $chaine."</select></td>      
      <td><select name='".$row["id"]."' onChange='this.form.submit()'  class='form-control'>".$chaine2."</select></form></td>
      </tr> ";                  


    }
} else {
    echo "0 results";
}
$conn->close();
?>
                    </tbody>
                    <tfoot>
                      <tr>
                        <th>Genre</th>
                        <th>Nom</th>
                        <th>Prénom</th>
                        <th>Enregistré</th>
                        <th>Groupe</th>
                      </tr>
                    </tfoot>
                  </table>
                </div><!-- /.box-body -->
              </div><!-- /.box -->
 

Et pour le fichier traitement.php :


<?php
// on se connecte à notre base
$base = mysql_connect ('', '', '');
mysql_select_db ('', $base) ;

  // lancement de la requête
  $sql = 'INSERT INTO ny6dh_man_eleve values (".$_POST[" id_etat "].") WHERE id=".$_POST[" id "]."';

  // on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
  mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

  // on ferme la connexion à la base
  mysql_close();

?>

En fouillant un peut j'étais tombé sur ce bout de code onChange='this.form.submit() car je n'arrivais pas à ajouter un bouton valider mais cette méthode est beaucoup trop lourde donc si vous pouvez m'aider à :
_ ajouter un bouton submit pour l'intégralité du tableau
_ pouvoir mettre à jour mes données

D'avance merci

Hors ligne

#2 11-10-2015 14:58:29

tof73
Membre
Inscription : 21-12-2014
Messages : 150
Site Web

Re : Pb bouton submit + update dans bdd

le <form></form> ne doit pas être dans le while, mais commencer avant et finir après

et dans le while :
<select name='etat".$id."' class='form-control'>
<select name='groupe".$id."' class='form-control'>
pour avoir des noms différents pour les listes.

Hors ligne

#3 11-10-2015 18:14:21

owenn59
Membre
Inscription : 08-08-2015
Messages : 7

Re : Pb bouton submit + update dans bdd

Donc après ce changement l'enregistrement va se faire ?

Hors ligne

Pied de page des forums