Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2007, 15h23   #1
Invité régulier
 
Inscription : janvier 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 38
Points : 9
Points : 9
Par défaut Recherche avancée avec checkbox

bonjour,

J'ai six checkbox et j'aimerai faire une recherche en fonction que je coche tel ou tel checkbox.

je vous montre le debut de mon script

Code :
1
2
3
4
5
6
7
 
$req="selec * from condition c, type t;"
 
if($com==true || $bureau==true)
{
$req.="where c.com = $com and c.bureau = $bureaux";
}
en faite j'ai commencer comme ça mais je ne sais pas si c bon.

Merçi pour votre aide.
Marcus15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 15h53   #2
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
bonjour
si une checkbox a été coché il va passer par les variable post
si elle n'est pas coché elle ne sera pas envoyé
donc valide avec isset

ton esquisse de code marche absolument pas..selec devrait etre select
et si tu veux monté une requete dynamique selons les cases a cochées en y ajoutant une condition
si je me fit a ton code, tu valide si l'un ou l'autre est a true...? alors dans ton exemple si $com est a false et $bureau est a true..ca rentre dans ta condition mais $com n'est pas setté..ca plante

Tes checkbox font quoi dans le fond...spécifié la clause where? ou spécifier ce que tu recherches?
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 16h01   #3
Invité régulier
 
Inscription : janvier 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 38
Points : 9
Points : 9
En faite les checkbox spécifie la recherche à effectuée.

Je me demandai égelement si il fallait que j'utilise un isset ou $comm==true pour verifier si elles sont coché.

Est ce que ma syntaxe est bonne ou ce n'est pas du tout dans cette esprit qu'il faut faire ?
Marcus15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 16h20   #4
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
bonjour
Ben moi je ne crois pas que c'est bon car tes variables provenant des checkbox, n'arrivent pas comme tel, a moins que tu les as définis ainsi.

Qu'est ce que tu as mis dans les value des checkbox?
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 16h26   #5
Invité régulier
 
Inscription : janvier 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 38
Points : 9
Points : 9
Je n'ai pas mi de value dans mes checkbox, mes variable je les declare comme ceux çi au depart
Code :
1
2
 
$bureaux = $_REQUEST['bureaux'];
c'est le avec un id="bureaux".
Marcus15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 16h43   #6
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
oki, pour etre franc, je n'utilise pas $_request mais bien $_post
post utilise les name des checkbox

Tu utilise le id, qui est un identifiant pour passer la valeur bureaux....valeur=value.. tu devrais passer par les post avec la nom et récupérer la valeur du checkbox

Enfin à ce moment tu récupère comme ca
ex 3 checkbox avec les noms chk1, chk2, chk3
Code :
1
2
3
4
5
6
7
8
9
10
 
if(isset($_POST['chk1'])){
 //instruction...
}
if(isset($_POST['chk2'])){
 //instruction 2
}
if(isset($_POST['chk3'])){
 //instruction 3
}
Ce qui est bien c'Est de monter ta requete dynamiquement aussi du genre
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<input type="checkbox" name="chk1" value="champs1">Champs1
<input type="checkbox" name="chk2" value="champs2">Champs2
<input type="checkbox" name="chk3" value="champs3">Champs3
 
//Soumission de ton formulaire
//récupération des valeurs
$req = 'SELECT champs0 ';
if(isset($_POST['chk1'])){
 $req .= ', '.$_POST['chk1'];
}
if(isset($_POST['chk2'])){
 $req .= ', '.$_POST['chk2'];
}
if(isset($_POST['chk3'])){
 $req .= ', '.$_POST['chk3'];
}
 
$req .= ' FROM tblTable';
...
echo $req //donnerais alors avec les chk1 et 3 de cochées
//SELECT champ0, champs1, champs3 FROM tblTable
tu joues un peu avec les condition et montes ta requete comme tu le désires
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 17h15   #7
Invité régulier
 
Inscription : janvier 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 38
Points : 9
Points : 9
Merçi pour cette reponse.

Je vais tester.
Marcus15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h14.


 
 
 
 
Partenaires

Hébergement Web