PHP|Débutant :: Forums

Advertisement

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

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

#1 Forum Général PHP » Version syntaxe mysql + liste de DataTables » 29-10-2015 18:03:50

owenn59
Réponses : 0

Bonjour à tous,
J'ai effectué plusieurs recherches de tableau en php/ajax et je suis tombé sur pas mal de site....donc voici la liste pour éviter à tous ceux qui sont à la recherche d'un tableau de ce type...cependant, j'ai du mal à cerner lequel de ces tableaux ne nécessite pas de mise à jour au niveau de la syntaxe du code...?

http://www.editablegrid.net/en/

http://www.asif18.com/21/php/simple-on- … cess/#4572

http://phppot.com/php/php-mysql-inline- … orial-menu

http://www.phpclasses.org/package/2943- … dates.html

#2 Re : Forum Général PHP » Pb bouton submit + update dans bdd » 11-10-2015 18:14:21

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

#3 Forum Général PHP » Pb bouton submit + update dans bdd » 11-10-2015 18:14:21

owenn59
Réponses : 2

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

#4 Re : Forum Général PHP » Envoie données Tableau dynamique avec 2 liste dynamique » 12-08-2015 19:03:12

Merci mais j'ai beau y jetter un oeil je ne vois pas où cela cloche....

#5 Re : Forum Général PHP » Envoie données Tableau dynamique avec 2 liste dynamique » 12-08-2015 19:03:12

Donc quand je met print_r($_POST); , il me mets ceci :

Array ( [__$row] => Array ( ["id"] => 1 ) [218] => 0 )

Par contre pour "remplace dans un premier temps ton if par
if(1){"

je remets la totalité du code?

#6 Re : Forum Général PHP » Envoie données Tableau dynamique avec 2 liste dynamique » 12-08-2015 19:03:12

Merci pour cette réponse, lorsque je fais cet echo post il me mets "Array"
Pour le if (isset($_POST["id_etat"]) && isset($_POST["id"])) {
je l'ai mis mais ne sais pas si c'est juste....ce que je souhaite c'est récupérer l'id dans la ligne et la valeur du champ...comment faire alors?

#7 Forum Général PHP » Envoie données Tableau dynamique avec 2 liste dynamique » 12-08-2015 19:03:12

owenn59
Réponses : 6

Bonjour à tous, alors voilà je débute en PHP et malgré avoir mangé pas mal de "cours" sur le net j'ai un peu de mal avec l'envoi des données....
Alors voici mon code coté "récolte des données" :



<?php
      $host = "xxx.mysql.db";
      $user = "xxxx";
      $pass = "xxxx";
      $bdd = "xxxx";
       // 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>Age</th>
                        <th>Ville</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>". $row["age"]."</td>
            <td>". $row["ville"]."</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();
?>

Donc comme on peut voir il s'agit d'un tableau dynamique avec deux menus déroulant dynamique et sans bouton valider, lorsque l'on selectionne un choix l'action vers le fichier traitement.php s'effectue....

le fichier traitement.php est comme ceci (je n'effectue pour ce premier test que l'envoi de l'enregistrement) :
<?php
// on se connecte à notre base
$base = mysql_connect ('xxxx.mysql.db', 'xxxx', 'xxxx');
mysql_select_db ('testdevffrtest', $base) ;
?>
<html>
<head>

<title>Modification de l'adresse d'un propriétaire</title>
</head>
<body>
<?php
// on teste si les variables du formulaire sont déclarées
if (isset($_POST["id_etat"]) && isset($_POST["id"])) {



    // lancement de la requête
    $sql = 'UPDATE ny6dh_man_eleve SET id_etat="'.$_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();

    // un petit message permettant de se rendre compte de la modification effectuée
    echo 'La nouvelle adresse de '.$_POST["id"].' est : '.$_POST["id_etat"];
}
else {
    echo 'Les variables du formulaire ne sont pas déclarées';
}
?>
</body>
</html>


Le problème est que rien ne se passe....et franchement je suis vraiment perdu car il s'agirait d'un pb d'écriture et je n'ai aucune idée d'où cela peut provenir.....merci de votre aide

Pied de page des forums

Propulsé par FluxBB