Recherche dans la base de donnée selon les checkbox coché
cs_hassane86
Messages postés54Date d'inscriptionmercredi 2 janvier 2008StatutMembreDernière intervention 2 août 2012
-
21 juil. 2010 à 17:43
cs_Seby63
Messages postés8Date d'inscriptiondimanche 25 juillet 2010StatutMembreDernière intervention12 août 2010
-
28 juil. 2010 à 16:02
Bonjour,
je suis entrain de crée un site intranet, et je bloque sur un problème de faire une recherche dans la base de donnée selon les checkbox coché, c a d les valeurs des checkbox ils seront comme critère de recherche.
voila la parti de mon code ou y a le problème :
Code php: $result"SELECT vehicule.type, constructeur.nom FROM `vehicule`, `constructeur` WHERE vehicule.id constructeur.id";
if (isset($_POST['mercedess']) ) {
$result ." AND ( type 'mercedess' ";
}
if (isset($_POST['BMW']) ) {
$result ." and type 'BMW'";
}
if (isset($_POST['Renault']) ) {
$result ." AND type 'Renault'";
}
code HTML : mercedess BMW
Renault
en faite le problème est quand je choisi le 1er de la liste(meredess) la y a pas de problème, il affiche bien la résultat mais si je sélection un autre ou je sélection plusieurs a la fois il m'affiche n'importe quoi et je sais pas d'où sa viens le problème.
aider moi SVP c très urgent
et mercii
A voir également:
Recherche dans la base de donnée selon les checkbox coché
cs_Seby63
Messages postés8Date d'inscriptiondimanche 25 juillet 2010StatutMembreDernière intervention12 août 2010 28 juil. 2010 à 15:52
if (isset($_POST['checkbox']))
{
$box= $_POST['checkbox'];
while (list ($key,$val) = @each ($box))
{
// $val -> la valeur de ta checkbox (une ID par exemple)
// Le while fait autant de boucle qu'il y a de checkbox coché
}
}
cs_Seby63
Messages postés8Date d'inscriptiondimanche 25 juillet 2010StatutMembreDernière intervention12 août 2010 28 juil. 2010 à 16:02
Petit exemple avec ton code
<form name= "F1" method="post" action="#">
mercedess
BMW Renault
</form>
Pour développer un peu, tu assigne une valeur numérique a tes checkbox plutôt qu'un nom. Ensuite au niveau du nom de tes checkbox, c'est le même à toute celle d'un même groupe (dans ton cas, les marques de voiture) -> checkbox[]
Si tu ajoute un nouveau groupe (la couleur par exemple), tu devra soumettre un nouveau nom -> checkcolor[] (au lieu de checkbox[])
$car_marks = array('Mercedes', 'BMW', 'Renaut') ;
if (isset($_POST['checkbox'])) /* Si le formulaire a été soumis et qu'au moins 1 checkbox a été cliqué */
{
$box= $_POST['checkbox'];
while (list ($key,$val) = @each ($box))
{
echo $car_marks[$val] ;
}
}