SOS recherche multicritère en php!!!

Fermé
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 - 13 août 2008 à 12:50
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 - 13 août 2008 à 16:09
Bonjour,
je ss entrain de travailler sur un formulaire de recherche multicritère en php!!
je reçois tt le temps des erreurs qui viennent de ma requête sql et j'arrive pas à déterminer la cause!!
voici mon code:

$domaine=(isset($_POST["domaine"])) ? $_POST["domaine"] : "";
$sect_activ =(isset($_POST["sect_activ "])) ? $_POST["sect_activ "] : "";
$niveau_etud =(isset($_POST["niveau_etud "])) ? $_POST["niveau_etud "] : "";
$intitu_poste=(isset($_POST["intitu_poste"])) ? $_POST["intitu_poste"] : "";


$critere1 = "";
$critere2 = "";
$critere3 = "";
$critere4 = "";
$w="";
$and1="";
$and2="";
$and3="";


if ($domaine != "-- Tout --") { $critere1 = "domaine = '$domaine'"; }
if ($sect_activ != "-- Tout --") { $critere2 = " sect_activ = '$sect_activ'"; }
if ($niveau_etud != "-- Tout --") { $critere3 = " niveau_etud = '$niveau_etud'"; }
if ($intitu_poste != "-- Tout --") { $critere4 = " intitu_poste = '$intitu_poste'"; }

if ($domaine != "-- Tout --" || $sect_activ != "-- Tout --" || $niveau_etud != "-- Tout --" || $intitu_poste != "-- Tout --") { $w= " WHERE"; }
if ($domaine != "-- Tout --" && $sect_activ != "-- Tout --"){ $and1=" AND"; }
if ( $niveau_etud != "-- Tout --" && ($domaine != "-- Tout --" || $sect_activ != "-- Tout --")) { $and2=" AND"; }
if ( $intitu_poste != "-- Tout --" && ($domaine != "-- Tout --" || $sect_activ != "-- Tout --" || $niveau_etud != "-- Tout --")){ $and3=" AND"; }

$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'cv_base';
$tables = 'recherche';

mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$select = "SELECT * FROM $tables".$w.$critere1.$and1.$critere2.$and2.$critere3.$and3.$critere4;
$result = mysql_query($select) or die ('Erreur : '.mysql_error());
$total = mysql_num_rows($result);


et l'erreur c'est:
Erreur : Erreur de syntaxe près de '= '' AND sect_activ = '' AND niveau_etud = '' AND intitu_poste =' à la ligne 1

si quelqu'un peut m'aider je serai très reconnaissante!!
passez une très bonne journée :-)
A voir également:

18 réponses

momohahamemeddd
13 août 2008 à 12:51
$select = "SELECT * FROM".$tables.$w.$critere1.$and1.$critere2.$and2.$critere3.$and3.$critere4;


Ca n'irait pas mieux ?
0
momohahamemeddd
13 août 2008 à 12:55
a mon avis ça venais juste du fait que ne concaténais pas ta variable.

Si ça ne fonctionne pas, on cherchera autre chose, si ça fonctionne, merci de prévenir ^^
0
momohahamemeddd
13 août 2008 à 13:00
de riiiiiiiien ! ^^

Dis moi si ça fonctionne ^^
0
momohahamemeddd
13 août 2008 à 13:03
y aura surement un problème avec l'espace de $tables = 'recherche';
modifie le en $tables = ' recherche';
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
momohahamemeddd
13 août 2008 à 13:03
manque un espace devant domaine aussi xD
0
momohahamemeddd
13 août 2008 à 13:08
'FROMrecherche WHEREdomaine = '' AND sect_activ = '' AND niveau_e' à la ligne 1

Il manque des espaces entre FROM et recherche et entre WHERE et domaine.
0
momohahamemeddd
13 août 2008 à 13:13
Corriges le problème des espacements avant...

Il faut juste que tu rajoute un espace dans tes variables.

$w= " WHERE"; --> $w= " WHERE ";
$tables = 'recherche'; --> $tables = ' recherche';
0
momohahamemeddd
13 août 2008 à 13:18
J'ai pas compris la question...

Merci de donner un chtit exemple!
0
momohahamemeddd
13 août 2008 à 13:34
Désolé j'ai les cours qui reprennent. Je checkerai le topic a 17h pour voir si quelqu'un t'as répondu. a toute !
0
saubion_j Messages postés 28 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 13 août 2008 2
13 août 2008 à 12:53
Si la réponse précédente ne fonctionne pas c'est un probleme de caractere spéciaux, il faudra donc modifier les criteres
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
13 août 2008 à 12:59
merciiiiiiiiiiii!!
tt d'abord je tiens a vous remecrier pour la rapidité de répondre!!! :-)
vous m'avez vraiment étonné!!
je vais essayé la correction de requete que m'a donné momohahamemeddd et j'éspère que ca va marcher!! sinon je vais vous prévenir
merciiiiiiii
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
13 août 2008 à 13:02
nn :-(
je veux bien finir avec cette recherche!! elle m'a pris assez de temps alors que je dois finir autres choses dans mon application
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
13 août 2008 à 13:03
et voila la nouvelle erreur:

Erreur : Erreur de syntaxe près de 'FROMrecherche WHEREdomaine = '' AND sect_activ = '' AND niveau_e' à la ligne 1
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
13 août 2008 à 13:06
en fait que veux tu dire par:

y aura surement un problème avec l'espace de $tables = 'recherche';
modifie le en $tables = ' recherche';
???


je dois changer quoi au juste??

mnt je n'ai plus d'erreurs mais ma recherche ne retourne aucun résultat :-(
-1
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
13 août 2008 à 13:10
fais un echo de la requête que tu essayes d'exécuter, tu y verra déjà plus clair...
Une fois que tu l'as, si tu ne vois pas vraiment la solution du premier coup tu peux essayer de l'exécuter dans phpmyadmin et de la corriger de cette façon.
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
13 août 2008 à 13:14
merci pour votre attention et de vouloir m'aider! :-)
en fait cette fois ci je n'ai plus de prob de syntaxe sauf que le requete me retourne le cas écheant c'est a dire s'il y a pas des données qui conviennent aux critères de recherches!!
vous avez une idée !!
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
13 août 2008 à 13:20
par exemple si je mets dans domaine "informatique" comme étant un critère de recherche il me retourne aucun résultat ne correspond a votre recherche alors que j'ai deja dans ma table recherche des données qui répondent a ce critère!!
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
13 août 2008 à 16:09
ok merci bien
et très bonne après midi
-1