Jump to content

probleme de recherche en php


Recommended Posts

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

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:

$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

Edited by Patrick
Merci d'utiliser les balises prévues pour le code et les extraits de textes afin de rendre le post plus lisible et compréhensible.
Link to post
Share on other sites

'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.

Link to post
Share on other sites

ok merci

mais je ne vois tjr pas comment reglé le pb

mon code de but de page donne ca

<?
$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

Link to post
Share on other sites

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.

// 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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...