Recup de checkbox en javascript/php - Page 2

  1. Excuse moi mec mais j'ai encore besoin de tes lumières...

    dans la page plan action j'envoie les donnée des checkbox (ce que tu as fait hier) dans la page form_action

    foreach($_GET as $val)
    {
    $_SESSION['val'] = $val;
    }

    enfin je veut récupérer ca pour faire ma requete mais ca ne passe pas hélas

    foreach($_SESSION as $val)
    {
    $requete = "UPDATE ARRET_CHAINE
    SET NUMERO_PLAN_ACTION = '$result'
    WHERE NUMERO_ARRET_CHAINE = $val";
    $req = odbc_exec($conn,$requete) or die('Erreur SQL : <br />'.$requete);
    }

    je n'est pas d'erreur mais ca ne s'insère pas
    0
    1. Contributeur
      Modifie ça :
      foreach($_SESSION as $val)
      {
      $requete = "UPDATE ARRET_CHAINE
      SET NUMERO_PLAN_ACTION = '$result'
      WHERE NUMERO_ARRET_CHAINE = $val";
      $req = odbc_exec($conn,$requete) or die('Erreur SQL : <br />'.$requete);
      }

      Par ça :
      foreach($_SESSION as $val)
      {
      $requete = "UPDATE ARRET_CHAINE
      SET NUMERO_PLAN_ACTION = '$result'
      WHERE NUMERO_ARRET_CHAINE = $val";
      echo 'requete : ' . $requete . '<br />';
      //$req = odbc_exec($conn,$requete) or die('Erreur SQL : <br />'.$requete);
      }

      Tu auras toutes tes requetes qui vont s'afficher!
      Si tu ne trouves pas l'erreur dessus, tu essaye de les executer dans ta base de données.
      Il va te donner l'erreur normalement.
      0
      1. excuse mais il n'y a pas d'erreur en faite!!!

        J'ai testé ton dernier post et donc le problème c'est que la requete n'est que sur une page de traitement dc le echo est impossible j'ai testé dans la bdd et la ca a bien fonctionné pourrais je te mettre le code des trois pages concerné car la je suis perdu je ne voi pas ce qui marche pas... stp
        0
        1. Tien une réponse mais j'ten donne pas comme tu veux pas m'aider
          0
          1. Contributeur
            Oui envoie les codes de tes pages je vais essayer de voir ça ...
            0
            1. je sais ke ca va faire long mais regarde stp

              plan_action.php

              <form method="post" action="Plan_action.php" >

              <body>
              <?php

              //--------------- Bannière ---------------//

              echo" <div id='ban2' > </div>";

              //--------------- Choix de la période ---------------//

              echo" <div id='cal_debut'></div>";

              echo"<div style='text-align: center;'>";
              echo"<input name='debut_periode' value='Début de période' class='calendrier' type='text'>";
              echo"  ";
              echo"<input name='fin_periode' value='Fin de période' class='calendrier' type='text'>";

              //--------------- Button SUBMIT qui charge le tableau ---------------//

              echo "  ";
              echo"<input value='Ok' name='button' type='submit'>";
              echo"</div><br>";

              require('Connexion.php');

              //--------------- Requete appelant le POST selectionné ---------------//

              $DATE_DEBUT = $_POST['debut_periode']." 00:00:00";
              $DATE_FIN = $_POST['fin_periode']." 00:00:00";

              list($datedeb, $heure_deb)=explode(" ",$DATE_DEBUT);
              list($datefin, $heure_fin)=explode(" ",$DATE_FIN);

              list($jj_deb, $mm_deb, $yy_deb)=explode("/",$datedeb);
              list($jj_fin, $mm_fin, $yy_fin)=explode("/",$datefin);

              $date_deb = $yy_deb."-".$mm_deb."-".$jj_deb;
              $date_fin = $yy_fin."-".$mm_fin."-".$jj_fin;

              //--------------- Tableaux des arrêts chaîne ---------------//

              //--------------- Requete du tableau des arrêts chaîne ---------------//

              if (isset($_POST['debut_periode']) && isset($_POST['fin_periode']))
              {
              $sql0="SELECT * FROM ARRET_CHAINE WHERE DEBUT BETWEEN #$date_deb# AND #$date_fin#" ;
              $rs = odbc_exec($conn,$sql0) or die('Erreur SQL : <br />'.$sql0);
              }
              //--------------- Tableau des arrêts chaîne ---------------//

              echo "<div style='overflow-y: scroll; height: 181'> ";

              echo "<table border='0' cellpadding='0' cellspacing='0' width='500'>";
              echo "<tbody>";
              echo "<tr>";

              echo "<table style='width: 968px; height: 60px;' border='5' cellpadding='2' cellspacing='1'>"; // Taille du tableau //
              echo "<tbody>";

              echo "<tr>";
              echo "<td class='table-titre' colspan='9'> Tableau des arrêts chaîne </td>";
              echo "</tr>";

              echo "<tr>";
              echo "<td class='table-entete-centre' width='20'>Choix</td>";
              echo "<td class='table-entete-centre' width='20'>Type</td>";
              echo "<td class='table-entete-centre' width='20'>Début</td>";
              echo "<td class='table-entete-centre' width='20'>Fin</td>";
              echo "<td class='table-entete-centre' width='20'>Constat</td>";
              echo "<td class='table-entete-centre' width='20'>Demande </td>";
              echo "<td class='table-entete-centre' width='20'>Cause</td>";
              echo "<td class='table-entete-centre' width='20'>Information</td>";
              echo "<td class='table-entete-centre' width='20'>Imputation</td>";
              echo "</tr>";
              if (isset($_POST['debut_periode']) && isset($_POST['fin_periode']))
              {
              while (odbc_fetch_row($rs))
              {
              $NUM=odbc_result($rs,"NUMERO_ARRET_CHAINE");
              $TYPE=odbc_result($rs,"TYPE");
              $DEBUT=odbc_result($rs,"HEURE_DEBUT");
              $FIN=odbc_result($rs,"HEURE_FIN");
              $CONSTAT=odbc_result($rs,"CONSTAT");
              $DEMANDE=odbc_result($rs,"DEMANDE");
              $CAUSE=odbc_result($rs,"CAUSE");
              $INFO=odbc_result($rs,"COMPLEMENT_INFORMATION");
              $IMPUTATION=odbc_result($rs,"IMPUTATION");

              echo "<tr>";
              echo "<td class='table-ligne1-centre' width='100'> <input type='checkbox' name='checkbox1' value='" . $NUM . "' /> </td>";
              echo "<td class='table-ligne1-centre' width='100'>$TYPE</td>";
              echo "<td class='table-ligne1-centre' width='100'>$DEBUT</td>";
              echo "<td class='table-ligne1-centre' width='100'>$FIN</td>";
              echo "<td class='table-ligne1-centre' width='100'>$CONSTAT</td>";
              echo "<td class='table-ligne1-centre' width='100'>$DEMANDE</td>";
              echo "<td class='table-ligne1-centre' width='100'>$CAUSE</td>";
              echo "<td class='table-ligne1-centre' width='100'>$INFO</td>";
              echo "<td class='table-ligne1-centre' width='100'>$IMPUTATION</td>";
              echo "</tr>";

              }
              }

              echo "</tbody>";
              echo "</table>";

              echo "</tr>";
              echo "</tbody>";
              echo "</table>";

              echo "</div>";
              ?>

              <!--------------- Boutton --------------->

              <br>

              <div style="text-align: center;">

              <input type="button" name="lien1" value="Ajouter un plan d'action" onclick="ouvreFenetreAjouter();">   

              <input type="button" name="lien2" value="Modifier" onClick="ouvreFenetreModifier();">   

              <input type="button" name="lien3" value="Cloturer" onClick="ouvreFenetreCloturer();">   

              <br><br>
              </div>

              <!--------------- Tableau des plans d'action --------------->

              <?php

              require('Connexion.php');
              require('Requete.php');

              //--------------- Requete du tableau des plans d'action ---------------//

              $sql1="SELECT * FROM PLAN_ACTION ";

              $req = odbc_exec($conn,$sql1) or die('Erreur SQL : <br />'.$sql1);

              echo "<div style='overflow-y: scroll; height: 180'>";
              echo "<table border='0' cellpadding='0' cellspacing='0' width='500'>";
              echo "<tbody>";

              echo "<tr>";
              echo "<table style='width: 973px; height: 115px;' border='5' cellpadding='2' cellspacing='1'>";
              echo "<tbody>";

              echo "<tr>";
              echo "<td class='table-titre' colspan='6'> Tableau des plans d'action</td>";
              echo "</tr>";

              echo "<tr>";
              echo "<td class='table-entete-centre' width='20'></td>";
              echo "<td class='table-entete-centre' width='150'>Intitulé</td>";
              echo "<td class='table-entete-centre' width='5'>Délai</td>";
              echo "<td class='table-entete-centre' width='50'>Pilote</td>";
              echo "<td class='table-entete-centre' width='10'>Cloture</td>";
              echo "<td class='table-entete-centre' width='30'>Complément </td>";
              echo "</tr>";

              while (odbc_fetch_row($req))
              {
              $CHOIX= odbc_result($req,"NUMERO_PLAN_ACTION");
              $INTITULE=odbc_result($req,"INTITULE");
              $DELAI=odbc_result($req,"DELAI");
              $PILOTE=odbc_result($req,"PILOTE");
              $CLOTURE=odbc_result($req,"CLOTURE");
              $COMPLEMENT_CLOTURE=odbc_result($req,"COMPLEMENT_CLOTURE");

              echo "<tr>";
              echo "<td class='table-ligne1-centre' width='20'> <input type=\"radio\" id=\"check\" name=\"check\" value='".$CHOIX."' /> </td>";
              echo "<td class='table-ligne1-centre' width='150'>$INTITULE</td>";
              echo "<td class='table-ligne1-centre' width='10'>$DELAI</td>";
              echo "<td class='table-ligne1-centre' width='50'>$PILOTE</td>";
              echo "<td class='table-ligne1-centre' width='10'>$CLOTURE</td>";
              echo "<td class='table-ligne1-centre' width='30'>$COMPLEMENT_CLOTURE</td>";
              echo "</tr>";

              }

              echo "</tbody>";
              echo "</table>";
              echo "</tr>";
              echo "</tbody>";
              echo "</table>";

              //--------------- Fin de la page Action ---------------//
              ?>
              </body>

              </form>

              <!##########################################################################################################################>

              </html>

              <?php
              session_start();
              ?>

              <form method="post" action="Formulaire_add_plan.php">

              <body>

              <!------------------ Bannière ------------------>

              <div id="ban3"> </div>

              <br>

              <!------------------ Intitulé du plan ------------------>

              Intitulé :
              <input name="INTITULE" value="" maxlength="50" size="50" type="text">

              <br><br>

              <?php
              //--------------- Champs de saisie du délais ---------------//

              foreach($_GET as $val)
              {
              $_SESSION['val'] = $val;
              }

              echo"<div>";

              echo"Délai : ";
              echo"<input name='d' value='' class='calendrier' type='date'> ";
              echo"</div>";

              ?>

              <br>

              Pilote :
              <input name="PILOTE" value="" maxlength="50" size="50" type="text">

              <br><br><br>

              <!------------------ Boutton ------------------>

              <div style="text-align: center;">

              <input value="Valider" onclick="self.close()" name="button" type="submit">

              </div>

              </body>
              </form>
              <!##########################################################################################################################>

              </html>

              <?php
              session_start();

              //--------------- Connexion à la base ---------------//

              require('Connexion.php');

              //--------------- Définition des variable de la table ---------------//

              $INTITULE = $_POST['INTITULE'];
              $DELAI = $_POST['DELAI'];
              $PILOTE = $_POST['PILOTE'];

              //--------------- Calcul et incrémente le numéro ---------------//

              $sqlnum = " SELECT MAX(NUMERO_PLAN_ACTION)
              FROM PLAN_ACTION";

              $req = odbc_exec($conn,$sqlnum) or die('Erreur SQL : <br />'.$sqlnum);

              {
              $result=odbc_result($req);
              }
              $result++;

              //--------------- Requete éxecuté dans la table ---------------//

              $sql1 = " INSERT INTO PLAN_ACTION (NUMERO_PLAN_ACTION, INTITULE, DELAI, PILOTE)
              VALUES ($result, '$INTITULE', '$DELAI', '$PILOTE')";

              foreach($_SESSION as $val)
              {
              $requete = "UPDATE ARRET_CHAINE
              SET NUMERO_PLAN_ACTION = '$result'
              WHERE NUMERO_ARRET_CHAINE = $val";
              //echo 'requete : ' . $requete . '<br />';
              $req = odbc_exec($conn,$requete) or die('Erreur SQL : <br />'.$requete);
              }

              $req = odbc_exec($conn,$sql1) or die('Erreur SQL : <br />'.$sql1);

              ?>jette un oeuil stp j'en peut plus
              0
              1. Contributeur
                foreach($_GET as $val)
                {
                $_SESSION['val'] = $val;
                }

                Là tu réinitialise toujours la même variable SESSION, c'est normal? ...

                Il faudrait plutôt mettre ça :

                foreach($_GET as $key=>$val) {
                $_SESSION[$key] = $val;
                }

                Essaie ça et dis moi si ça change quelque chose ...
                0
                1. oui effectivement quand je test ca et que je fais un echo ca marche mais ca doit déconner dans lotre page avec le update je sais pas pourquoi...
                  0
                  1. salut passarinho44,

                    en ayant modifier comme tu me l'avait conseillé dans ton post au dessus une de mes deux requetes s'insère
                    le insert into.

                    Mais toujours le meme problème avec le update

                    j'ai fait ca :

                    foreach($_SESSION[$key]as $key=>$val)
                    {
                    $requete = "UPDATE ARRET_CHAINE
                    SET NUMERO_PLAN_ACTION = '$result'
                    WHERE NUMERO_ARRET_CHAINE = $val";
                    //echo 'requete : ' . $requete . '<br />';
                    $req = odbc_exec($conn,$requete) or die('Erreur SQL : <br />'.$requete);
                    }

                    peut tu me dire si c'est normal que le update ne marque pas d'erreur et qu'il n'insère rien dans la table stp?
                    0
                    1. Contributeur
                      Tu peux afficher la requete avec le echo et me la montrer stp?
                      A priori je ne vois pas d'erreur ...

                      Quand tu as un problème de requete qui ne s'execute pas, essaie toujours de l'afficher et de l'executer directement dans ta base.
                      0
                  2. je l'ai fait je l'ai éxécuter et ca passe dans la base mais pas par le code

                    en fait j'ai 3 pages tu vois la page plan action avec le tableau

                    ensuite la page x jrécup la valeur des checkbox

                    enfin la page de traitement y

                    et j'ai mis la requete dans la page x et la c'est bon je suis sur que je récupère car j'ai fait le echo par contre dans la page de traitement je ne sais pa scomment faire pour faire en sorte que je vois la requete pour etre sur que les valeurs passent

                    donc si ta une idée...
                    0
                    1. Contributeur
                      Ben enlève le renvoie dans la page de traitement.

                      Ton echo va s'afficher normalement.
                      0
                      1. Effectivment...

                        Alors

                        voici le code de ma page

                        <?php
                        session_start();
                        ?>

                        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

                        <html>

                        <!##########################################################################################################################>

                        <head>
                        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

                        <title>Ajout d'un plan d'action</title>

                        <link rel="stylesheet" media="screen" type="text/css" title="identification" href="Require\Application.css">

                        </head>

                        <body>

                        <?php
                        //--------------- Connexion à la base ---------------//

                        require('Require\Connexion.php');

                        //--------------- Définition des variable de la table ---------------//

                        $INTITULE = $_POST['INTITULE'];
                        $DELAI = $_POST['d'];
                        $PILOTE = $_POST['PILOTE'];

                        //--------------- Calcul et incrémente le numéro ---------------//

                        $sqlnum = " SELECT NUMERO_PLAN_ACTION
                        FROM PLAN_ACTION";

                        $req = odbc_exec($conn,$sqlnum) or die('Erreur SQL : <br />'.$sqlnum);
                        {
                        $result=odbc_result_all($req);
                        }
                        $num = $result++;

                        //--------------- Requete éxecuté dans la table ---------------//

                        $sql1 = " INSERT INTO PLAN_ACTION (NUMERO_PLAN_ACTION, INTITULE, DELAI, PILOTE)
                        VALUES ($num, '$INTITULE', '$DELAI', '$PILOTE')";

                        foreach($_SESSION[$key]as $key=>$val)
                        {
                        $requete =" UPDATE ARRET_CHAINE
                        SET NUMERO_PLAN_ACTION = '$result'
                        WHERE NUMERO_ARRET_CHAINE =".$val;
                        echo 'requete : ' . $requete . '<br />';
                        $req = odbc_exec($conn,$requete) or die('Erreur SQL : <br />'.$requete);
                        }

                        $req = odbc_exec($conn,$sql1) or die('Erreur SQL : <br />'.$sql1);

                        ?>
                        </body>
                        </form>

                        </html>

                        et voici l'erreur car apparemment il ne prend pas la valeur

                        NUMERO_PLAN_ACTION
                        0

                        Warning: Invalid argument supplied for foreach()

                        qu'en pense tu?
                        0
                        Précédent
                        • 1
                        • 2