Requete SQL

Résolu
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 25 avril 2006 à 10:42
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 27 avril 2006 à 14:32
Salut!!

J'ai un formulaire à partir duquel je récupère des infos; j'envoie ensuite ces infos dans une requete SQL, mais ca me sort l'erreur Query was empty...

Ma requete :

$sql = 'SELECT description, cause_probable, proposition_amelioration, agence_concernee, processus_concerne, resp, etat_action, numero
FROM '%$ameliorations%', '%$observations%'
WHERE description LIKE '%$description%' AND cause_probable LIKE '%$cause_probable%' AND proposition_amelioration LIKE '%$proposition_amelioration%' AND agence_concernee like '%$agence_concernee%' AND processus_concerne LIKE '%$processus_concerne%' AND resp LIKE '%$resp%' AND etat_action LIKE '%$etat_action%' AND numero LIKE '%$numero%'
ORDER BY numero
';

Je ne comprends pas pourquoi ca me dit que ma requete est vide, si je fais un echo avant la requete, les champs du formulaire sont bien récupérés...

Merci d'avance pour votre aide!!

25 réponses

flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
26 avril 2006 à 09:51
OK merci!!

Par contre j'ai une question sur un truc que je veux faire mais je ne sais pas si je peux ni si c'est faisable :

Je voudrais faire une recherche par mot clé sur plusieurs champs. Ca, je pense que c'est ok; mais mon soucis est que ces 3 champs n'existent pas sur toutes mes tables.
Je vais en fait rechercher sur 3 champs dans une table et dans un seul champ sur une autre table.

Est ce que je peux le faire et si oui, comment je peux m'y prendre..??
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
26 avril 2006 à 13:22
J'ai fait la chose suivante, meme si je ne remplis aucun champ dans mon formulaire, ca crée quand meme la requete complete...je ne comprends pas ce que j'ai raté...

//Tables
$flag='';
$from='';


if(isset($_POST['recap_ameliorations']))
{
$from=" FROM recap_ameliorations ";
$flag='1';
}


if(isset($_POST['recap_observations']))
{
if($flag=='1') $from.=" ,  recap_observations  ";
else
$from.="  FROM recap_observations  ";
}


//Mot clé
$flag='';
$where='';


if(isset($_POST['mot_cle']))
{
$where=" WHERE description, cause_probable, proposition_amelioration LIKE '%mot_cle%' ";
$flag='1';
}


//Agence concernée
if(isset($_POST['agence_concernee']))
{
if($flag=='1') $where.=" AND agence_concernee LIKE agence_concernee ";
else
$where.=" WHERE agence_concernee LIKE agence_concernee ";
$flag='1';
}


//Processus concerné
if(isset($_POST['processus_concerne']))
{
if($flag=='1') $where.=" AND processus_concerne LIKE processus_concerne ";
else
$where.=" WHERE processus_concerne LIKE processus_concerne ";
$flag='1';
}


//Responsable
if(isset($_POST['resp']))
{
if($flag=='1') $where.=" AND resp LIKE resp ";
else
$where.=" WHERE resp LIKE resp ";
$flag='1';
}


//Etat des actions
if(isset($_POST['etat_action']))
{
if($flag=='1') $where.=" AND etat_action LIKE etat_action ";
else
$where.=" WHERE etat_action LIKE etat_action ";
$flag='1';
}


//Numéro
if(isset($_POST['numero']))
{
if($flag=='1') $where.=" AND numero LIKE numero ";
else
$where.=" WHERE numero LIKE numero ";
$flag='1';
}
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
26 avril 2006 à 13:47
J'ai corrigé en faisant ceci mais j'ai toujours une erreur sql...

//Récupération des valeurs des champs:


//Tables
$flag='';
$from='';


if(isset($_POST['recap_ameliorations']))
{
$from=" FROM recap_ameliorations ";
$flag='1';
}


if(isset($_POST['recap_observations']))
{
if($flag=='1') $from.=" ,  recap_observations  ";
else
$from.="  FROM recap_observations  ";
}


//Mot clé
$flag='';
$where='';


if(isset($_POST['mot_cle']))
{
$where=" WHERE description, cause_probable, proposition_amelioration LIKE '%mot_cle%' ";
$flag='1';
}


//Agence concernée
if(isset($_POST['agence_concernee'])) {$agence_concernee = $_POST['agence_concernee']; } 
{
if($flag=='1') $where.=" AND agence_concernee LIKE $agence_concernee ";
else
$where.=" WHERE agence_concernee LIKE $agence_concernee ";
$flag='1';
}


//Processus concerné
if(isset($_POST['processus_concerne'])) {$processus_concerne = $_POST['processus_concerne']; }
{
if($flag=='1') $where.=" AND processus_concerne LIKE $processus_concerne ";
else
$where.=" WHERE processus_concerne LIKE '$processus_concerne' ";
$flag='1';
}


//Responsable
if(isset($_POST['resp'])) {$resp = $_POST['resp']; } 
{
if($flag=='1') $where.=" AND resp LIKE $resp ";
else
$where.=" WHERE resp LIKE $resp ";
$flag='1';
}


//Etat des actions
if(isset($_POST['etat_action'])) {$etat_action = $_POST['etat_action']; } 
{
if($flag=='1') $where.=" AND etat_action LIKE $etat_action ";
else
$where.=" WHERE etat_action LIKE $etat_action ";
$flag='1';
}


//Numéro
if(isset($_POST['numero'])) {$numero = $_POST['numero']; } 
{
if($flag=='1') $where.=" AND numero LIKE $numero ";
else
$where.=" WHERE numero LIKE $numero ";
$flag='1';
}
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
27 avril 2006 à 08:24
OK..

Par contre là, ca me sort l'erreur suivante :

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Ca donne l'erreur sur cette ligne :

$where=" WHERE description, cause_probable, proposition_amelioration LIKE '%$_POST['mot_cle'] %' ";

Merci!!
0

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

Posez votre question
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
27 avril 2006 à 14:32
Qq'un peut m'aider please????

Merci...
0
Rejoignez-nous