flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009
-
10 mai 2006 à 09:58
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009
-
10 mai 2006 à 13:08
Salut tout le monde!
J'ai une page contenant un formulaire par lequel je passe pour faire une recherche dans ma bdd. Je coche sur quelle table je veux rechercher et apres j'affine ma recherche en allant sur différents champs. Mon soucis est que les champs de mes tables sur lesquels je recherche ont le meme nom...Si je renomme mes champs, je ne sais pas comment je vais pouvoir m'y prendre pour ma requete...Y a t-il une autre solution?
Pour info, mon code :
//Récupération des valeurs des champs:
//Tables
$flag='';
$from='';
if(isset($_POST['recap_ameliorations']))
{
$from=" FROM recap_ameliorations ";
$flag='1';
}
if(!EMPTY($_POST['mot_cle']))
{
$where=' WHERE description OR cause_probable OR proposition_amelioration LIKE \''.$_POST['mot_cle'].'\' ';
$flag='1';
}
//Agence concernée
if(!EMPTY($_POST['agence_concernee']))
{
if($flag=='1') $where.=' AND agence_concernee LIKE \''.$_POST['agence_concernee'].' \' ';
else
$where.=' WHERE agence_concernee LIKE \''.$_POST['agence_concernee'].' \' ';
$flag='1';
}
//Processus concerné
if(!EMPTY($_POST['processus_concerne']))
{
if($flag=='1') $where.=' AND processus_concerne LIKE \''.$_POST['processus_concerne'].' \' ';
else
$where.=' WHERE processus_concerne LIKE \''.$_POST['processus_concerne'].' \' ';
$flag='1';
}
//Responsable
if(!EMPTY($_POST['resp']))
{
if($flag=='1') $where.=' AND resp LIKE \''.$_POST['resp'].' \' ';
else
$where.=' WHERE resp LIKE \''.$_POST['resp'].' \' ';
$flag='1';
}
//Etat des actions
if(!EMPTY($_POST['etat_action']))
{
if($flag=='1') $where.=' AND etat_action LIKE \''.$_POST['etat_action'].' \' ';
else
$where.=' WHERE etat_action LIKE \''.$_POST['etat_action'].' \' ';
$flag='1';
}
//Numéro
if(!EMPTY($_POST['numero']))
{
if($flag=='1') $where.=' AND numero LIKE \''.$_POST['numero'].' \' ';
else
$where.=' WHERE numero LIKE \''.$_POST['numero'].' \' ';
$flag='1';
}
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 10 mai 2006 à 12:48
Oui mais mon soucis va se trouver au niveau de mes conditions.
Sur mon code actuel, je recherche que sur 2 tables, mais je vais en avoir 4 au total, omment je vais pouvoir gérer ca avec mes conditions, car je recherche selon les critères entrés sur le formulaire..?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 mai 2006 à 13:02
Si tu voyais la gueule des conditions dans un des projets sur lesquels je bosse...;-)
Tu es obligé de préfixer si tu as des champs dans différentes tables ayant le même nom, pas d'autre moyen.
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 10 mai 2006 à 13:08
Oui j'imagine bien... ;-))
Mais par contre, comment je vais faire pour dire sur quels champs je vais chercher chaque fois? Parce que je recherche sur telle ou telle table uniquement si l'utilisateur a coché la case ds le form.