Probleme checkbox

Signaler
Messages postés
5
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
1 mai 2005
-
Messages postés
5
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
1 mai 2005
-
Bonjour,

j'ai actuellement une liste de news qui s'affiche en dynamique et au bout de chaque ligne une checkbox qui recupere l'ID de la news.
je voudrais faire une requete Mysql pour afficher seulement les infos qui ont été cochées sachant qu'il peut y avoir plusieurs cases cochées.

A l'heure actuellement j'arrive à en afficher seulement 1 mais opas les autres.

Qq'un peut il m'aider?

Merci bcp

9 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



consulte la doc de php sur le foreach.



Ensuite tu génères ta requête dynamiquement, que tu effectues après le foreach.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
5
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
1 mai 2005

la doc est consultée et j arrive a afficher toutes les variables générées par les checkbox mais pour la requete il ne m'affiche la réponse pour une seule variable la dernière.
Voici une bout de mon code:

<?php
if(isset($_POST['commande']))
$val=$_POST['commande'];
foreach ($_POST['commande'] as $cle=>$valeur)
echo $cle.' : '.$valeur.'
';
mysql_select_db($database_hotline, $hotline);
$query_test = "SELECT * FROM commandes WHERE commande=$valeur";
$test = mysql_query($query_test, $hotline) or die(mysql_error());
$row_test = mysql_fetch_assoc($test);
$totalRows_test = mysql_num_rows($test);
?>

comme tu vois le tableau des variables s affiche sans problemes mais une seule passe dans la requete.

Comment faire pour que toutes passent dans la requete et ainsi obtenir l affichage de toutes les réponses des checkbox?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Normal, fais un truc de ce genre :



$requete='SELECT champ1,champ2,etc... FROM commandes WHERE commande=';

$i=0;

while(list($nom,$valeur) = each($_POST['commande']
))

{

if($i==0)

{

$requete.=$valeur;

}

else

{

$requete.=' AND commande='.$valeur;

}

$i++;

}

mysql_connect('hote','user','passe');

mysql_select_db($bdd);

mysql_query($requete);

mysql_close();
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
5
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
1 mai 2005

Merci de ta réponse rapide mais cela ne marche pas

Pourquoi la requete se termine comme ca? est ce normal?

lors de l'affichage il me signale une erreur de requete.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Il faut adapter ta requête en fonction des champs présents dans ta base de données...



j'ai mis "champ1, champ2" dans la requête, il faut mettre le nom de tes champs....

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lu,

ajoute un or die(mysql_error()); a ta requette au query ( mysql_query() or die(); )

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
Messages postés
5
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
1 mai 2005

Merci de votre aide.

ma requete est censée afficher tous les champs de ma table pour toutes les cases cochées mais n'affiche que le résultat de la dernière valeur.

et le or die(mysql_error());
a ta requette au query ( mysql_query() or die(); )
a bien été ajouté et ne me revois pas d'erreur ma requete s'exécute bien mais ne m affiche pas ous les résultats

">

voici ma checkbox qui prend la valeur dynamique de l ID de la news
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Bah après une fois que t'as fait ta requête tu fais ton mysql_fetch_row .... On va pas tout faire non plus...



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
5
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
1 mai 2005

Merci de ta dernière réponse mais la répétition de la requete est deja passé et c'est bien ca qui m'ennuie car je devrais avoir plusieurs résultats qui s'affichent quand plusieurs cases sont cocher mais il n'y en a qu'une qui apparait la dernière.

Lorsqu'on fait une requète Mysql et que plusieurs variables sont passées est ce que la base voit les différentes variables?

Merci de votre aide mais cela fait plus de 2 semaines que je planche dessus et de tres nombreuses tentatives ont été testés avant de faire appel à votre aide.