|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
bonjour, je voudrais créer une requete multicritère pour un site, donc j'ai plusieurs champs dans un formulaire:
3 boites déroulantes et 2 cases à cocher voici le lien ou vous pouvez voir ce formulaire http://www.clef-immo.be/accueil.php je ne sais pas comment m'y prendre pour créer cette requête, je ne vous demande pas de faire la requete à ma place mais un lien ou un tuto parlant de cela. il faut savoir que les list box peuvent avoir "sans importance". merci pour votre aide |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Tu commences une requête en mettant
Ensuite tu testes les champs à ajouter (tu regardes si tes combos sont différentes de "Sans importance"), si il faut ajouter une condition tu ajoutes simplement à la requête pour chacune d'entre elles Et après tu exécutes ta requête et le tour est joué
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
oulala
bon je suis débutant en php alors je ne comprends pas très bien Citation:
pourquoi WHERE 1 ? que dois je mettre à la place de 1 Citation:
désolé mais je comprends pas grand chose, peux tu me donner un petit bout de code + complet merci |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Alors,
champs c'est la liste des champs que tu veux récupérer de ta table. table c'est le nom de ta table WHERE 1 c'est juste une astuce pour simplifier grandement la construction de la requête, pas besoin de toucher Et ça c'est juste les conditions de ta requête champ c'est le nom du champ de ta table à tester valeur c'est la valeur du champ, c'est à dire ce qui est sélectionné dans ta liste déroulante Au final à titre s'exemple bidon ça donne quelque chose dans ce genre : Code :
SELECT nom FROM villes WHERE 1 AND code_postal = '72100' AND departement = 'Sarthe' Edit : Tu as déjà eu des explications ici : http://www.developpez.net/forums/sho...d.php?t=170928 Et ça pourrait aussi être pas mal d'avoir de tes nouvelles sur les topics que tu créés parce que on sait jamais ce que ça donne au final et si tu t'en sors...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
bon suite de mon message
donc j'ai commencé par mettre cela comme code dans ma requete Code :
mais là j'ai déjà une erreur Parse error: syntax error, unexpected T_STRING in /home.10.2/clefimmo/www/recherche_biens.php on line 205 encore merci |
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
A essayer.
Code :
$sql = "SELECT * FROM biens WHERE type='" . $_POST['select_type'] . "' LIMIT " . $_GET['debut'] . ", " . $nb_affichage_par_page;
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
voilà j'ai changé comme tu m'as dit mes mes enregistrements correspondant ne s'affiche pas
voici mon code complet Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Bon je commence par le début.
Code :
$nb_total ne contient pas le nombre d'enregistrements répondant à la requête (si c'est ce que tu veux), mais un tableau associatif de ces enregistrements. Et tu réaffectes $nb_total dans la condition de ton if, donc je vois pas l'intérêt...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
||
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
c'est le code pour faire un affichage page par page de mes enregistrements
|
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
je vais être honête , c'est un script que j'ai trouvé sur le net mais je nc comprends pas bien son code. si ce code est à changer, peux tu m'aider
merci |
|
|
00
|
|
|
#12 | |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
|
00
|
|
|
#13 | ||||
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
voilà j'ai enlevé l'affichage page par page pour un essai
donc j'ai le code Code :
je te donne aussi le code du formulaire Code :
merci |
||||
|
|
00
|
|
|
#14 | ||
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
l'écho me donne cela
Code :
|
||
|
|
00
|
|
|
#15 | ||
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Pour le echo fais ça :
Code :
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
||
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
SELECT * FROM biens WHERE type='Maisons entre pignons'
voici le résultat |
|
|
00
|
|
|
#17 | |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
Edit : je viens de voir un truc, pour récupérer les valeurs il faut faire $data['situation'] par exemple et pas $data[situation] (ajouter les quotes)
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
|
00
|
|
|
#18 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
imbécile que je suis , forcémént ca ne peut pas marcher
dans ma list box, j'ai 'appartements' écrit comme ceci et dans le champ type de ma table 'appartement' est sans S donc forcément il trouve pas d'enregistrements correspondants à ma list box désolé de t'avoir dérangé pour une bétise pareille encore merci, je vais mettre résolu bon maintenant je vais faire ma requête multicritères et afficher les enregistrements page par page |
|
|
00
|
|
|
#19 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Ok, tiens moi au courant sur ce topic si tu veux et si tu as encore besoin d'un coup de main.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#20 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 272 ![]() |
bon j'ai un autre problème aussi qui à mon avis des très costaud
donc comme tu peux voir dans le lien suivant http://www.clef-immo.be/accueil.php pour ma recherche il ya type, prix, localité... maintenant pour le prix j'ai -100000 euros 100000 et 150000 (entre)... donc ceci est du texte mon champ prix est de type int ma question est comment faire la requete de tous les biens qui sont par ex à - de 100000 euros, j'espère que je me suis bien fait comprendre encore merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com