Erreur de syntaxe Mysql
Fermé
Ayreon
Messages postés
6
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
5 janvier 2010
-
30 déc. 2008 à 17:09
Ayreon Messages postés 6 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 5 janvier 2010 - 30 déc. 2008 à 18:41
Ayreon Messages postés 6 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 5 janvier 2010 - 30 déc. 2008 à 18:41
A voir également:
- Erreur de syntaxe Mysql
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Mysql community server - Télécharger - Bases de données
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 3005 france tv - Forum TV & Vidéo
4 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
30 déc. 2008 à 17:34
30 déc. 2008 à 17:34
Bonsoir,
if ($_POST['type']=="type")
{
$SQL=$SQL."type LIKE '%" . $_POST['type'] . "%'";
}
comment fais tu pour avoir $_POST['type']=="type" ?? a partir d'une liste déroulante qui a deux valeurs "achat" et "location"
mets plutôt:
if ($_POST['type']=="type")
{
$SQL=$SQL."type LIKE '%" . $_POST['type'] . "%'";
}
comment fais tu pour avoir $_POST['type']=="type" ?? a partir d'une liste déroulante qui a deux valeurs "achat" et "location"
mets plutôt:
<?php $SQL="SELECT * FROM biens WHERE "; if (!empty($_POST['type']){//si pas vide $SQL.="type LIKE '%".$_POST['type']."%'"; $result = mysql_query($SQL, $maconnexion) or die(mysql_error()); if(mysql_num_rows($result) >0){ while ($row=mysql_fetch_array($result)){ echo $row["type"]; echo $row["typedepropriete"]; echo $row["pays"]; } }else{ echo "Acun bien ne correspond a votre demande"; } }
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
30 déc. 2008 à 18:30
30 déc. 2008 à 18:30
Il faut mettre des AND entre chaque condition
mais attention il faut que type soit obligatoire
et LIKE '%".$_POST['prix']."%' va te sortir des trucs inattendus ! car % veut dire n'importe quoi avant ou après
si 125 demandé ça va te sortir tous les enregistrements 21250 1212569 etc
$SQL="SELECT * FROM biens WHERE "; if (!empty($_POST['type'])){//si pas vide $SQL.="type LIKE '%".$_POST['type']."%'"; if (!empty($_POST['pays'])){//si pas vide $SQL.=" AND pays LIKE '%".$_POST['pays']."%'"; if (!empty($_POST['prix'])){//si pas vide $SQL.="AND prix LIKE '%".$_POST['prix']."%'";
mais attention il faut que type soit obligatoire
et LIKE '%".$_POST['prix']."%' va te sortir des trucs inattendus ! car % veut dire n'importe quoi avant ou après
si 125 demandé ça va te sortir tous les enregistrements 21250 1212569 etc
Ayreon
Messages postés
6
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
5 janvier 2010
30 déc. 2008 à 18:38
30 déc. 2008 à 18:38
Ok ! Donc ce n'est peut-être pas la meilleure méthode à cause du prix...
Mais dans ce cas, quelle autre méthode utiliser ?
En tout cas merci pour ton aide plus que précieuse !
Mais dans ce cas, quelle autre méthode utiliser ?
En tout cas merci pour ton aide plus que précieuse !
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
>
Ayreon
Messages postés
6
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
5 janvier 2010
30 déc. 2008 à 18:40
30 déc. 2008 à 18:40
ben pour le prix tu mets
prix <= '".$_POST['prix']."'
prix <= '".$_POST['prix']."'
Ayreon
Messages postés
6
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
5 janvier 2010
>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
30 déc. 2008 à 18:41
30 déc. 2008 à 18:41
ah ben oui ! Ca fait toute la journée que je suis là dessus, j'ai plus les idées très claires :D
Merci beaucoup en tout cas !
Passe une très bonne soirée !
Merci beaucoup en tout cas !
Passe une très bonne soirée !
baptiste01800
Messages postés
34
Date d'inscription
samedi 27 décembre 2008
Statut
Membre
Dernière intervention
12 mars 2011
17
30 déc. 2008 à 17:11
30 déc. 2008 à 17:11
Bon courage et bonne chance!! =P
baptiste01800
Messages postés
34
Date d'inscription
samedi 27 décembre 2008
Statut
Membre
Dernière intervention
12 mars 2011
17
30 déc. 2008 à 18:10
30 déc. 2008 à 18:10
Bravo ^^
30 déc. 2008 à 17:48
Ceci dit, maintenant j'ai une parse error à hauteur de la ligne 19
18. $SQL="SELECT * FROM biens WHERE ";
19. if (!empty($_POST['type']){//si pas vide
20. $SQL.="type LIKE '%".$_POST['type']."%'";
Tout me parait correct pourtant...
30 déc. 2008 à 18:09
30 déc. 2008 à 18:17
J'aurais encore une petite question si je peux abuser de ta bonté :
Je souhaiterais que mon moteur de recherche soit multicritère, à savoir :
le type (comme dans le code plus haut)
le pays
le prix
à quoi doit ressembler ma requete sql ?
a ca ?
Merci encore