begin process at 2012 05 31 09:00:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Recherche à partir d'un input text et de 7 listes déroulantes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recherche à partir d'un input text et de 7 listes déroulantes

mardi 5 mai 2009 à 10:42:32 | Recherche à partir d'un input text et de 7 listes déroulantes

ines57

Bonjour,

Étant entrain de développer un portail immobilier, je programme une partie recherche se basant sur 8 critères. Il n'est pas obligatoire de les renseigner tous, mais au moins un. Pour l'instant, seule la recherche par mot-clé fonctionne. J'essaye de faire fonctionner celle avec la première liste déroulante, mais je n'y parviens pas. En effet, comment faire en sorte que la boucle affiche les résultats de la recherche par mot-clé ET des listes déroulantes?

Voici mon code pour le moment :

[code]

/* Récupération des mots clé dans le input text */
$mot= $_POST['mot'];

/* Recherche de ce mot clé dans la table annonce (champ description) */

$reponse = mysql_query("SELECT ann_no_annonce, ann_titre, ann_prix, ann_description FROM annonce WHERE ann_description LIKE '%$mot%'") or die(mysql_error());

while ($donnees=mysql_fetch_array($reponse) )
{
?>
<div class="annonces">
<div class="numann">Annonce n° <?php echo $donnees['ann_no_annonce']; ?></div>
<div class="prix">Prix : <?php echo $donnees['ann_prix']; ?> ¤</div>
<br> &nbsp;
<?php echo $donnees['ann_titre']; ?> <br> <br> &nbsp;
<?php echo $donnees['ann_description']; ?>



</div>

<?php
}

/* Récupération des contenus des listes déroulantes */
$listetype= $_POST['listetype'];

$reponse2 = mysql_query("SELECT ann_no_annonce, ann_prix, ann_titre, ann_description, typ_no_type, typ_nom_type, app_no_type FROM type, annonce, appartient WHERE typ_no_type = app_no_type AND typ_no_type= '".$_POST['listetype']."'") or die (mysql_error());

[/code]

Merci pour votre aide :)
mardi 5 mai 2009 à 11:09:31 | Re : Recherche à partir d'un input text et de 7 listes déroulantes

alexflex25

Je vois 2 solutions:
Premièrement, 
tu fais une requête du type :
SELECT * FROM annonce;

Tu stock le résultat dans un tableau:
$annonces = array();
while ($donnees=mysql_fetch_array($reponse) ){
     $annonces[$i] = $donnees;
     $i++;
}


Ensuite au niveau de l'affichage du résultat, tu prends les valeurs de tes listes déroulantes et de ton champ "mot clé" et tu test chaque ligne.
Comme cela par exemple:

foreach($annonces as $annonce){
     if( ( empty($champ_select1) || ereg($champ_select1,$annonce["critere1"]) )
       &&
( empty($champ_select2) || ereg($champ_select2,$annonce["critere2"]) )
       && ...){
           affichage de la ligne
}


Deuxièmement,

Tu construis ta requête SQL en fonction des champ renseigné par l'utilisateur
exemple:
critere 5 = "france"
motclé = "pepe"

$requete = "SELECT ann_no_annonce, ann_titre, ann_prix, ann_description FROM annonce WHERE ";
if( !empty($critere1)) $requete .= "champ_a_tester1" like '%'.$critere1.'%' and ";
if( !empty($critere2)) $requete .= "champ_a_tester2" like '%'.$critere2.'%' and ";
if( !empty($critere3)) $requete .= "champ_a_tester3" like '%'.$critere3.'%' and ";
if( !empty($critere4)) $requete .= "champ_a_tester4" like '%'.$critere4.'%' and ";
if( !empty($critere5)) $requete .= "champ_a_tester5" like '%'.$critere5.'%' and ";
if( !empty($critere6)) ...
if( !empty($motcle)) $requete .=  "ann_description LIKE '%$motcle%' and ";


//ensuite tu termine ta requete correctement en retirant le dernier "and";

$requete = substr($requete,0,-4);

//Ensuite execution de la requete + affichage de tous les resultats

Voila.

Apres la meilleur méthode depend de ta table "annonce"
je pense que s'il y a plus de 1000 enregistrements la méthode 2 est quand meme mieu





Cette discussion est classée dans : type, mot, recherche, annonce, ann


Répondre à ce message

Sujets en rapport avec ce message

Formulaire d'envoie d'images. [ par spike911 ] Bon cela fait plus de deux semaine que je recherche ce type de code. Je recherche quelque chose qui; Par le bien d'un formulaire ferais ajouter un ima Ajouter la troncature dans un moteur de recherche [ par baboun ] Bonjour, je viens crier au secours.Je tente d'insérer un système de troncature dans mon moteur de recherche php sur base de donnée MySQL.(Sans vouloir Comment rechercher un mot dans une chaine de caractères ? [ par Drazounet ] Bonjours à tous,Je suis en train de programmer un forum en php et maintenant je suis en train de lui ajouter une section "recherche" afin de trouver p Recherche bon codeur [ par Antoni87 ] Salut à tous,je passe une annonce pour savoir si ce serait possible d'avoir qqun qui est très bon en codage PHP pour se consacrer à 100% ou presque d' moteur de recherche [ par rastafarye ] salut je suis a la recherche de code source ou d'aide sur des moteurs de recherche de type web (com google par ex bien sur je ne demande pas le code s moteur de recherche [ par cobrachris ] bonjour à tous,J'ai un petit problème sur un moteur de recherche que j'ai trouvé sur le site. J'ai modifier les champs dans lesquels faire la recherch Script d'annonce en php [ par manoll ] Bonjours a tous,Voila je recherche un script d'annonce d'emploie. J'ai trouvé sur le site des scriptes sympa mais pour des annonces divers comme des v recherche un mot dans une base de donnee [ par maxelpiratos ] bonjour a tous!, je voudrais faire une requete qui recherche un mot dans une table. seulement c un champ text donc il faudrait que la requete reco moteur de recherche interne [ par clippy ] Bonjour,Je dois absolument faire un moteur de recherche interne sur mon site pour mon travail de fin d'année. malgré tous les tutoriaux je n'y arrive faire une recherche par mot clé dans un texte [ par maurimaure ] Bonjour, J'ai des docs en registrés dans ma BDD,  j'aimerais faire des récherches par mots clés sur ces docs enfin de n'en afficher que les docs qu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales