Récupérer plusieurs valeurs de checkbox

cs_kyuubi6 Messages postés 4 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 6 mai 2008 - 6 mai 2008 à 11:02
cs_kyuubi6 Messages postés 4 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 6 mai 2008 - 6 mai 2008 à 14:44
Bonjour tout le monde,
voila j'ai un petit soucis avec des check box, en fait j'ai plusieurs revendeurs et on les choisit en cochant les check box les correspondant, j'aimerais après celà faire un select dans ma table revendeur ou le numero du revendeur correspont au(x) checkbox(s).
Voici mon code :
checkbox :
    ----

                    PHOTO HALL MULTIMEDIA 41089
       ,
                   
       ,
   
    ----

                    NEW VANDEN BORRE SAV 4001
       ,
                   
       ,
   
    ----

                   
       ,
   

Ma récupération :
(grâce au count je compte le nombre de checkbox cochées)
for($i=0;$i<count($_POST['rev']);$i++)
        {
        $rev=mysql_query("select numrevendeur from revendeurs where nomrevendeur='".$_POST['rev'][$i]."'",$db);
                    $numRev=mysql_fetch_array($rev,MYSQL_ASSOC);
                    $tab[]=$numRev['numrevendeur'];    
         }
       
        for($i=0;$i<count($_POST['rev']);$i++)
        {
        echo  $tab[$i];
       $select=mysql_query("SELECT  nomrevendeur from revendeurs where numrevendeur='".$tab[$i]."'  ",$db);
        
      }

En teste je fais un echo $tab[$i], il m'affiche bien les numéros des revendeurs cochés mais après quand j'affiche le résultat de ma requête il ne m'affiche que le dernier checkbox coché .
Je ne sais pas si quelqu'un à déjà eu le problème et a su le résoudre
Si quelqu'un a une idée je serais ravi de la lire .
Merci d'avance

3 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 mai 2008 à 11:39
tu fais n requêtes ou n est le nombre de ...revendeurs

for($i=0;$i<count($_POST['rev']);$i++)
        {
        $rev=mysql_query("select numrevendeur from revendeurs where nomrevendeur='".$_POST['rev'][$i]."'",$db);
                    $numRev=mysql_fetch_array($rev,MYSQL_ASSOC);
                    $tab[]=$numRev['numrevendeur'];    
         }
       
        for($i=0;$i<count($_POST['rev']);$i++)
        {
        $aiiIdRevendeurs=$tab[$i];
      
        
      }
$select=mysql_query("SELECT  nomrevendeur from revendeurs where numrevendeur='".$tab[$i]."'  ",$db);

//c'est des entiers ou des string en bdd? grrrr TYPEZZZZZZZZZZZZZZZZZZZZ (ca devrait etre des entiers)

$select=mysql_query('SELECT  nomrevendeur from revendeurs where numrevendeur IN('.implode(',',$aiiIdRevendeurs).')  ',$db);

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
6 mai 2008 à 12:00
Bonjour,

Avec ça, une seule requête :

if(isset($_POST['rev']))
{
$nom = '(\'' . implode('\',\'', $_POST['rev']) . '\')';
$sql = 'select numrevendeur
from revendeurs
where nomrevendeur in ' . $nom;
}
0
cs_kyuubi6 Messages postés 4 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 6 mai 2008
6 mai 2008 à 14:44
je viens tester vos codes (merci d'avoir répondu ), malheureusement ça ne fonctionne toujours pas
j'ai essayé avec la fonction implode comme sité plus haut mais j'ai toujours le problème qu'il ne m'affiche que le dernier revendeur cochés.
Je patoge un peu la, je ne comprend pas pourquoi ça ne va pas...
0
Rejoignez-nous