Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
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 13/09/2006, 10h46   #1
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 130
Points : 27
Points : 27
Par défaut Recherche multicritère PHP-MySql

Bonjour,

J'ai un site de locations de vacances avec une base mysql.
A ce jour j'ai lus de 1000 enregistrements.

Mais pour l'instant, les gens peuvent faire des recherches que par département:

exemple: $sql = 'SELECT count(*)FROM gites WHERE dptGite="Ain"'

J'aimerai que les gens puissent grace a un formualire faire une recherche multicritère pour la recherche de locations:
par département et par type de locations.

La requete est la suivant je pense:
$sql = 'SELECT count(*)FROM gites WHERE dptGite="Ain" AND typeLocation="Gite"

Cette requete marche et j'aurai tous les gites du dpt de l'Ain mais je ne sais pas mettre en place cette requete pour toutes les possibilités et en fonction de la requete, ca renvoie une page avec les enregistrements.

J'espere avoir été clair

Merci de votre aide, Pod
pod1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 10h51   #2
Membre éclairé
 
Avatar de Joe Le Mort
 
Inscription : avril 2006
Messages : 392
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 392
Points : 361
Points : 361
Envoyer un message via MSN à Joe Le Mort
alors voila l'astuce :

Code :
1
2
3
4
5
6
7
8
9
$sql = 'SELECT count(*) FROM gites WHERE 1=1';
 
IF ($_GET['dptGite']){
 $sql .= ' AND dptGite = '%$_GET['dptGite']%'';
}
 
IF ($_GET['typelocation']){
 $sql .= ' AND typelocation= '%$_GET['typelocation']%'';
}
etc....voila
Joe Le Mort est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 10h57   #3
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 130
Points : 27
Points : 27
Excuse moi mais je suis assez débutant.

Donc il faut que je crée mon formulaire avec mes deux champs (dpt et type de locations) et sur le bouton envoi, je dois mettre le code a kel niveau?
pod1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 11h58   #4
Membre éclairé
 
Avatar de Joe Le Mort
 
Inscription : avril 2006
Messages : 392
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 392
Points : 361
Points : 361
Envoyer un message via MSN à Joe Le Mort
Citation:
Envoyé par pod1978
Donc il faut que je crée mon formulaire avec mes deux champs (dpt et type de locations) et sur le bouton envoi, je dois mettre le code a kel niveau?
Alors pas de probleme si tu es débutant.

tu créés ton formulaire, en action, la page de résultat par exemple.
tu créé tes 2 champs dptGite et typeLocation (ou plus)

et tu met le code dans la page qu iest en action dans le fomulaire (la page résultat ici)

Ensuite, dans ta page résultat, en faisant un $_POST['nom_du_champs_du_fomulaire_envoyé'], tu récuperes la valeur que le client a entré !

exemple :
Code :
$dpgite = $_POST['dpgite '];
voila ce que tu auras :
Code :
1
2
3
4
5
6
7
8
9
$sql = 'SELECT count(*) FROM gites WHERE 1=1';
 
IF (isset($_POST['dpgite '])){
 $sql .= ' AND dptGite = '%$_GET['dptGite']%'';
}
 
IF (isset($_POST['typelocation'])){
 $sql .= ' AND typelocation= '%$_GET['typelocation']%'';
}
ensuite a toi d'afficher la suite.. je te laisse faire
Joe Le Mort est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2006, 23h52   #5
Meewix
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Hello

Je ne viens pas aider car je vais poster un post +/- pariel et j'ai besoin d'aide.

Mais question, le " count(*) " il sert à quoi ?

Merci
  Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h54.


 
 
 
 
Partenaires

Hébergement Web