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 :

Checkbox et Update [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut Checkbox et Update
    Bonjour,

    J'aurais besoin d'aide pour connaître la méthode qui permet dans un formulaire de pouvoir cocher plusieurs checkbox et de faire un update de l'ensemble des valeurs associées à celles-ci.

    Voilà pour l'instant où j'en suis :

    mon formulaire :

    Code : HTML

    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
    <form method="post" name="form1" action="tstocktech.php">
    <?php do { ?>
    <input name="check_stocko" type="checkbox" value="<?php echo $row_rsstocko2['id_stocko']; ?>" />
    <input type="text" name="numbl_stocko" value="<?php echo $row_rsstocko2['numbl_stocko']; ?>" size="5" readonly="readonly">
    <input size="8" type="texte" name="dateliv_stocko" value="<?php list($year, $month, $day) = explode("-", $row_rsstocko2['dateliv_stocko']); echo $row_rsstocko2['dateliv_stocko'] = "$day-$month-$year";?>" readonly="readonly"/>
    <input type="text" name="denom_stocko" value="<?php echo $row_rsstocko2['denom_stocko']; ?>" size="15" readonly="readonly">
    <input type="text" name="numlot_stocko" value="<?php echo $row_rsstocko2['numlot_stocko']; ?>" size="15" readonly="readonly">
    <input type="text" name="numbout_stocko" value="<?php echo $row_rsstocko2['numbout_stocko'];?>" size="15" readonly="readonly">
    <?php } while ($row_rsstocko2 = mysql_fetch_assoc($rsstocko2)); ?>
    <select name="listetech"><?php
    do {
    ?><option value="<?php echo $row_ttechnicien['id_use']?>">
              <?php echo $row_ttechnicien['nom_use']?>
              </option>
              <?php
    } while ($row_ttechnicien = mysql_fetch_assoc($ttechnicien));
      $rows = mysql_num_rows($ttechnicien);
      if($rows > 0) {
       mysql_data_seek($ttechnicien, 0);
       $row_ttechnicien = mysql_fetch_assoc($ttechnicien);
      }
    ?>
              </select>
     
    <input type="submit" value="Valider">
    <input type="hidden" name="id_stocko" value=""> </form>
    et le script d'Update associé :

    Code : PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $check=$_POST['check_stocko'];
      $liste=$_POST['listetech'];
      $datesortie=$_POST['datesortie_stocko'];
      $etat='2';
      $dispo='1';
     
    $req1 = "UPDATE tstockoxy SET etat_stocko='$etat', dispo_stocko='$dispo', datesortie_stocko='$datesortie', numtec_stocko='$liste' WHERE id_stocko='$check'";
      mysql_query($req1) or die(mysql_error()) ;
    Une petite idée ? MERCI

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Donne un nom indexé à tes champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="check_stocko[]" type="checkbox" ...
    <input type="text" name="numbl_stocko[]" ....
    Et tu les traites ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if ($_POST['check_stocko']) {
    foreach ($_POST['check_stocko'] as $key=>$value) {
       $numbl_stocko = mysql_real_escape_string($_POST['numbl_stocko'][$key]);
       .....
       $sql = "UPDATE ....  VALUES ($numbl_stocko, ....)"
    }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    Merci

    Le script n'a aucune action sur ma table !

    J'ai donné un nom indexé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <input name="check_stocko[]" type="checkbox" value="<?php echo $row_rsstocko2['id_stocko']; ?>" /></td> 	
                          <td align="center"><input type="text" name="numbl_stocko[]" value="<?php echo $row_rsstocko2['numbl_stocko']; ?>" size="5" readonly="readonly"></td>
                          <td><input size="8" type="texte" name="dateliv_stocko[]" value="<?php list($year, $month, $day) = explode("-", $row_rsstocko2['dateliv_stocko']);	echo $row_rsstocko2['dateliv_stocko'] = "$day-$month-$year";?>" readonly="readonly"/>
                         </td>
                          <td><input type="text" name="denom_stocko[]" value="<?php echo $row_rsstocko2['denom_stocko']; ?>" size="15" readonly="readonly"></td>
                          <td><input type="text" name="numlot_stocko[]" value="<?php echo $row_rsstocko2['numlot_stocko']; ?>" size="15" readonly="readonly"></td>
                          <td><input type="text" name="numbout_stocko[]" value="<?php echo $row_rsstocko2['numbout_stocko'];?>" size="15" readonly="readonly">					 
                        </tr><?php } while ($row_rsstocko2 = mysql_fetch_assoc($rsstocko2)); ?>
    et j'exécute le script suivant :
    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
     
    $check=$_POST['check_stocko'];
    $liste=$_POST['listetech'];
    $datesortie=convert_date($_POST['datesortie_stocko']);
    $etat='2';
    $dispo='1';
     
     
    if ($_POST['check_stocko']) {
    foreach ($_POST['check_stocko'] as $key=>$value) {
       $numbl_stocko = mysql_real_escape_string($_POST['numbl_stocko'][$key]);
       $dateliv_stocko = mysql_real_escape_string(convert_date($_POST['dateliv_stocko'][$key]));
       $denom_stocko = mysql_real_escape_string($_POST['denom_stocko'][$key]);
       $numlot_stocko = mysql_real_escape_string($_POST['numlot_stocko'][$key]);
       $numbout_stocko = mysql_real_escape_string($_POST['numbout_stocko'][$key]);
       $req1 = "UPDATE tstockoxy SET etat_stocko='$etat', dispo_stocko='$dispo', datesortie_stocko='$datesortie', numtec_stocko='$liste' WHERE id_stocko='$check'";
      mysql_query($req1) or die(mysql_error()) ;
    }
    }

    Je vois pas là ???

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est parce que ton $check n'a plus lieu d'etre.
    La valeur de chaque check_stocko coché c'est $value.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req1 = "UPDATE tstockoxy SET etat_stocko='$etat', dispo_stocko='$dispo', datesortie_stocko='$datesortie', numtec_stocko='$liste' WHERE id_stocko=$value";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    Superbe ! Merci Ca marche nickel !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Checkbox et Paramètres de ajax.updater
    Par ilalaina dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/09/2008, 10h19
  2. [MySQL] Besoin de vos lumières Checkbox et UPDATE
    Par Little_flower dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/12/2007, 22h26
  3. [MySQL] Aide pour requete UPDATE depuis un formulaire checkbox
    Par craac dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/09/2007, 15h27
  4. [MySQL] update checkbox dépression nerveuse
    Par jarod71 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/02/2007, 21h57

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