Tableau dans un input

Résolu
helloworld -  
 helloworld -
Bonjour,

J'ai un petit soucis, je fais passez des entiers via un tableau dans mon $_POST.
<input type="hidden" name="users[]" value="<?php echo $users->getId() ?>">


Le soucis est que je fonctionne avec des checkbox, et j'aimerai qu'ils me mettent mes id uniquement pour les cases que j'ai coché et non tout les id doffice.

Est ce possible ? Sinon, y a t'il une alternative ?

Merci

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,


    j'aimerai qu'ils me mettent mes id uniquement pour les cases que j'ai coché

    Tu veux dire dans ta variable POST ?
    Ben.. c'est déjà le cas normalement....

    Si tu coches quelques cases, puis que tu valides ton formulaire
    que te donne ce bout de code ?
    $arr_users = !empty($_POST['users']) ? $_POST['users'] : NULL;
    echo "<pre>" . print_r($arr_users,true) . "</pre>";
    

    0
    1. helloworld
       
      Il m'affiche tout

      Array
      (
      [0] => 45
      [1] => 47
      [2] => 50
      )

      Le soucis est que j'ai deux input qui font passez des informations via post, un "hidden" et un autre de type "checkbox". Le problème est que si je coche par exemple la premiere et la derniere checkbox, mon tableau sera de type
      Array
      (
      [0] => on
      [1] => on
      )

      mais mon autre tableau users[] sera comme au dessus. Ducoup les indices ne correspondent pas. Et ceci est un un problème pour la suite de mon code.

      J'aimerai si possible avoir un post de même taille à chaque envoie de formulaire.
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      montres nous le code html de ton formulaire.
      0
    3. helloworld
       
      <?php for ($i=0; $i < count($users); $i++){ ?>
          <input type="hidden" name="users[]" value="<?php echo user->get_id() ?>">
          <td><input type="checkbox" name="checkbox[]" value="<?php echo $true ?>"></td>
       <php } ?>
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Et comme ceci ?
    <?php 
      for ($i=0; $i < count($users); $i++){ 
        $id = user->get_id();
        echo "<td>
               <input type='hidden' name='users[$id]' value='$id' />
               <input type='checkbox' 
                      name='checkbox[$id]' 
                      value='$true' />
              </td>";
      } 
    ?>
    

    Mais ton champ hidden ne sert plus à rien.. puisque tu as l'id dans l'array users
    0
    1. helloworld
       
      Merci effectivement le champ hidden ne sert plus a rien mais j'ai ce qu'il faut.
      0