Version complète: sur le forum Webmaster Hub : probleme de recherche en php
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
champs-elysees
bonjour
j'ai vraiment besoin d'aide
je n'arrive pas a comprendre le pb que j'ai dans ma recherche
voici le message d'erreur

CITATION
erreur recherche 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY date_creation DESC limit 0, 15' at line 13

sachant que mon code est:
CODE
$rqt_search_loc = mysql_query("
SELECT  fichesannu.id, fichesannu.titre, url, desc_court, ville, photo_principale, categannu.titre as categorie, nom_zone
FROM fichesannu, categannu, zonesgeo
WHERE categannu.id = fichesannu.categ
and fichesannu.zone = zonesgeo.code_zone         
and actif='oui' $where_requete  
ORDER BY date_creation DESC
limit $start, 15 ") or die("erreur recherche 1: ".mysql_error());


voila si quelqu'un peu m'aider
merci
philippe
Kioob
'lut

comme clairement indiqué dans le message d'erreur il y a une erreur de syntaxe dans ta requête SQL.

Donc ce serait de l'afficher comme elle est réellement, c'est à dire avec le contenu des variables $where_requete et autres.
manub72
Bonjour,

ta requête est incomplète, apparemment. Il manque le contenu de la variable $where_requete. Peut-être l'erreur de syntaxe vient-elle de cette partie ?
champs-elysees
ok merci
mais je ne vois tjr pas comment reglé le pb

mon code de but de page donne ca

CODE-BOX
<?
$path="../";
include"../config.conf.php";
include"../header.inc.php";
include"../zonegeo.fonc.php";
include"../fonctions.php";

if(!isset($_GET['start'])){
$start = 0;
}


$where_requete = "";
$critere_rech="";
// recherche par mot clé
if(isset($_POST['search'])) {
$mot_cle = $_POST['search'];
$where_requete.= "
and categannu.titre like '%$mot_cle%'
or fichesannu.titre like '%$mot_cle%'
or zonesgeo.nom_zone like '%$mot_cle%'
or fichesannu.ville like '%$mot_cle%'
or fichesannu.desc_court like '%$mot_cle%'
or fichesannu.desc_long like '%$mot_cle%'
or fichesannu.nomduwebmaster like '%$mot_cle%'
or fichesannu.adresse like '%$mot_cle%') ";

$critere_rech = $mot_cle;
}
else
{
$heberg="";
$zonegeo="";

//Verification que le critere de recherche par type et par zone
if(isset($_GET['heberg'])&&$_GET['heberg']!=""){
$heberg = $_GET['heberg'];
}
else if(isset($_POST["heberg"])&&$_POST["heberg"]!=0){
$heberg = $_POST['heberg'];
}
//Verification que le critere de zone géographique existe
if(isset($_GET['zonegeo'])&&$_GET['zonegeo']!=""){
$zonegeo = $_GET['zonegeo'];
}
else if(isset($_POST["zonegeo"])&&$_POST["zonegeo"]!="0"){
$zonegeo = $_POST['zonegeo'];
}
else if(isset($_GET["geo"])&&$_GET["geo"]!="0"){
$zonegeo = $_GET['geo'];
}
if($heberg!=""){
$where_requete.= " and fichesannu.categ = '$heberg' ";
// recuperation du type de location
$rqt_titre_loc = mysql_query("select titre from categannu where id=\"".$heberg."\"") or die(mysql_error());
$res_titre_loc = mysql_fetch_array($rqt_titre_loc);
}
if($zonegeo!=""){
$where_requete.= " and fichesannu.zone = '$zonegeo' ";
// recuperation de la localisation
$rqt_zone_loc = mysql_query("select nom_zone from zonesgeo where code_zone=\"".$zonegeo."\"") or die("erreur_nom_zone".mysql_error());
$res_zone_loc = mysql_fetch_array($rqt_zone_loc);
}
$critere_rech = $res_titre_loc["titre"]." ".$res_zone_loc["nom_zone"] ;
}

$rqt_search_loc = mysql_query("
SELECT fichesannu.id, fichesannu.titre, url, desc_court, ville, photo_principale, categannu.titre as categorie, nom_zone
FROM fichesannu, categannu, zonesgeo
WHERE categannu.id = fichesannu.categ
and fichesannu.zone = zonesgeo.code_zone
and actif='oui' $where_requete
ORDER BY date_creation DESC
limit $start, 15 ") or die("erreur recherche 1: ".mysql_error());



et je comprend vraiment pas ou est le soucis
camillejg
Bonjour champs-elysees,

peux-tu faire afficher ta requête (comme le demande Kioob) afin que l'on puisse voir ce que l'on trouve dans $where_requete.

CODE
// Affichage de ta requête
echo "SELECT fichesannu.id, fichesannu.titre, url, desc_court, ville, photo_principale, categannu.titre as categorie, nom_zone
FROM fichesannu, categannu, zonesgeo
WHERE categannu.id = fichesannu.categ
and fichesannu.zone = zonesgeo.code_zone
and actif='oui' $where_requete
ORDER BY date_creation DESC
limit $start, 15 ";


camillejg
champs-elysees
C'est bon j'ai trouvé grace a vous bien sure ;-)
une petite ) en trop


merci bcp
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.