travailmichel
Messages postés37Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention13 décembre 2007
-
4 mars 2005 à 14:54
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
11 mars 2005 à 16:08
bonjour à tous
voilà j'ai des soucis à afficher les resultats de ma recherche à partir d'un formulaire avec des chekbox et des menus deroulants. j'arrive à recuperer les valeur mais j'arrive pas à expliquer à la base = si j'ai cocher ces cases affiche depuis la base ce qui il y a dans les cases cochés et mon choix dans le menu deroulant et seulement ce que j'ai coché et rien d'autre.
un peu comme un site immobilier lorsque vous faites une recherche d'un bien particulier.
voilà donc je suis bloqué avec ça et du fait je n'avance plus, si qq'un peu m'aider ça m'arrangerait!!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 4 mars 2005 à 15:26
Hello,
les checkboxes, tu les recuperes dans un tableau. Donc le mieux est de
parcourir ton tableau, ou de faire un implode() dessus avec les
separations correctes pour ta query (" AND " ou ce que tu veux/peux).
La liste deroulante, si elle n'est pas multiple, tu n'as qu'un choix...tu le recuperes, donc tu peux l'appliquer a ta query.
Il faut des AND dans ta requete, en gros, contenant les choix effectues.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 4 mars 2005 à 15:47
Bref avec ton code, ca va donner un truc du genre
$query = "SELECT * FROM biens WHERE sorte='".$_POST['sorte']."' AND
(becanes='".$_POST['motocycle']."' OR
becanes='".$_POST['motocycle2']."') AND...etc ";
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 4 mars 2005 à 15:48
Ben oui justement, une checkbox unique aurait suffit, tu aurais eu tes
resultat dans un tableau motocycle[] au lieu de l'avoir dans deux
variables differentes.
travailmichel
Messages postés37Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention13 décembre 2007 4 mars 2005 à 15:58
$query = "SELECT * FROM biens WHERE sorte='".$_POST['sorte']."' AND (becanes='".$_POST['motocycle']."' OR becanes='".$_POST['motocycle2']."') AND...etc ";
ok ça j'ai deja ; le prob c'est que du coup ça m'affiche toutes les reponses...
actuellement j'ai ça s comme code:
$rbis="select becanes, sorte, prix from biens GROUP BY id ";
$rad=mysql_query($rbis);
$nbbis=mysql_num_rows($rad);
while ( $data = mysql_fetch_array($rad) ){
//$date=date("l d F Y");
$r="select * from biens where becanes='".$data[becanes]."' AND sorte='".$data[sorte]."' AND prix='".$data['prix']."'";
if ($motocycle&& $motocycle2)
{
$r .= " AND becanes='cyclo' OR becanes='moto'";
}
else if ($motocycle)
{
$r .= " AND becanes= 'cyclo'";
}
else if ($motocycle2)
{
$r .= " AND becanes= 'moto'";
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 4 mars 2005 à 16:28
Je pige pas...
tu fais une requete complete sur ta table ($data)
Puis tu refais une recherche sur cette meme table en demandant si le
resultat de ta requete, parcourue en tableau, est a chaque fois egale a
ce qu'il trouve au meme endroit dans ta table...evidemment qu'il va
tout t'afficher ;-)
Tu dois partager.
Tu as ton formulaire.
Tu fais le traitement (tests etc) comme te l'indique Antho.
Puis tu construits ta requete en fonction de ca.
bref : if (isset($_POST...) etc.. {
la tu construits ta requete , mais en fonction des resultats (avec tes conditions)
C'est pour ca que creer d'abord un tableau avec tes POST est pas mal, ca t'evite de faire 1 requete avec plein de if().
$requete = "SELECT * FROM biens
WHERE sorte='".$_POST['sorte']."' AND
(becanes='".$_POST['motocycle']."' OR
becanes='".$_POST['motocycle2']."') AND...etc ";
travailmichel
Messages postés37Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention13 décembre 2007 4 mars 2005 à 18:07
dis moi malamal comment je fais par contre pour mes menus deroulants?
car j'ai le name c'est = sorte et les values= bmw; harley, etc..
je fais des if (isset($_POST...) aussi ou bien?.. comment je fais pour recupere les valeurs aussi?
merci