Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Requete mysql sur tables champs identiques [ Archives / Bases de données ] (flopad)

mardi 9 mai 2006 à 16:43:17 | Requete mysql sur tables champs identiques

flopad

Bonjour,

j'ai un formulaire par lequel l'user selectionne ce qu'il veut rechercher dans ma base.
Il a également le choix de rechercher sur une ou plusieurs tables. Dans mes tables, les champs ont le meme nom, je voudrais si possible que ca reste comme ca.
C'est là qu'est mon problème, si je coche la recherche sur une seule table, c'est ok, par contre, si je recherche sur plusieurs tables, ca me dit : Column 'NOM DU CHAMP' in where clause is ambiguous
Est ce qu'il y a une feinte pour contrer ca...???

Voici mon code :

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

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';
}

Merci d'avance pour votre aide!!!


mardi 9 mai 2006 à 17:06:47 | Re : Requete mysql sur tables champs identiques

ov3rdoze

Membre Club
Il faut que tu renomme tes tables :
Par exemple si t'as une table 'user' avec un champ nom et une table 'agence' avec un champ nom egalement, et que tu fais une recherche sur ces 2 critères :
SELECT ... FROM user u, agence a WHERE u.nom=... AND a.nom=...;

...Si j'ai bien compris ton probleme

mardi 9 mai 2006 à 17:07:20 | Re : Requete mysql sur tables champs identiques

AlexN

Réponse acceptée !
Pour lever l'ambiguité de ta requete fais preceder les noms des champs par les nom de table
WHERE Table1.ChampIdentique = ... AND WHERE Table2.ChampIdentique = ..

mardi 9 mai 2006 à 17:08:02 | Re : Requete mysql sur tables champs identiques

AlexN

le second WHERE est de trop



Cette discussion est classé dans : post, like, where, empty, flag


Répondre à ce message

Sujets en rapport avec ce message

PB nom de champs table mysql [ par flopad ] 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 Erreur requete sql [ par flopad ] Bonjour, j'ai un formulaire via lequel je propose diverses options de recherche dans ma bdd; j'ai le code suivant qui me récupère les données du form pb de recherche [ par neotetsuo34 ] Je n'arrive pas a rechercher des infos dans ma base que je tire d'un formulaire, je dois avoir un pb de requete ou de syntaxe. Je vous montre mon code 2 actions :-( [ par Blacknight91titi ] Salutvoila j'ai un problèmej'ai crée un formulairepuis ajouter un code pour vérifier que les champs soit rempli correctementmasi le problème est que c formulaire avec piece jointe probleme [ par ggsecours ] BonjourJe debute plus ou moins en php mais j'ai déjà un bon formulaire assez costau avec verification des champs pour envoie par mail mais le seul pro probleme dans le code [ par developvbdebut ] Bonjour tout le mondeJ'ai deux tabletbl_message_recutbl_messagerie Je voudrai avoir la pos petit probleme [ par biloutte33 ] voilà je viens de créer un espace membre mais j'ai un petit soucis (des messages d'erreur)Parse error: parse error, unexpected T_ELSE in /var/www/free Trouve pas l'erreur :( unexpecting $ [ par RoX5 ] Bonjour, j'ai fait un formulaire et ici la page pour enregistrer le membre et j'ai un problème, il me met comme erreur Parse error: parse error, unexp Formulaire...validation [ par CyberMen30 ] Bonjour à tous,J'ai un formulaire d'adhésion contenant les données suivante:Tarif, Regionale, recruteur, prenom, nom, numero, rue, casepostale, ville, Probleme un script [ par developvbdebut ] Bonsoir tout le mondeJ'ai un probleme avec mon scripte , c'est les boutons radio de mon formulaire qui posent probleme.En effet, je selection un bouto


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,80 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.