#1 Le 13/05/2013, à 13:56
- Marinou9000
Recherche avancée dans 2 tables differentes
Bonjour
J'ai un petit problème qui me bloque depuis quelque temps.
Peut être suis je seulement étourdie mais mes connaissances en SQL ne me permettent pas de trouver mon erreur ^^
Je vous explique, via un formulaire situé plus haut dans ma page de code, je récupère une variable 'serveur' qui doit me permettre de rechercher des applications dont des composants figurent sur ces serveurs.
Je vous met le code pour pouvoir mieux vous expliquer :
@$sql = 'SELECT * FROM `application` WHERE
(`nom` LIKE \''. $_POST['application'].'%\' OR `nom_com` LIKE \''.$_POST['application'].'%\' OR
`nom` LIKE \'%(SELECT `nom` FROM `fiche` WHERE (`serveur1` LIKE \''.$_POST['serveur'].'%\' OR `serveur2` LIKE \''.$_POST['serveur'].'%\'))%\' AND
`serveur_app` LIKE \''.$_POST['serveur_app'].'%\' ;";
Je ne sais pas si certains on déjà réussis a comprendre ( le raisonnement d'une fille dans sa splendeur ), mais en gros, j'ai deux tables, 'application' et 'fiche' dont une colonne est identique 'nom'.
Le but final est que en tapant le nom d'un serveur, il me retourne toutes les applications dont les composants sont sur ce serveur et qu'il soit toujours possible d'ajouter plus de critères a la recherche.
Merci d'avance pour les courageux
Marine
Love is all you need - Yoda
Hors ligne
#2 Le 13/05/2013, à 14:16
- xavier4811
Re : Recherche avancée dans 2 tables differentes
Bonjour,
En premier évite d'utiliser les $_POST directement dans la requète, passe par une variable intermédiaire et vérifie/filtre le contenu du $_POST.
php ? Y'a pas un ' fermé avec un " a la fin.
MySQL ? SELECT * FROM `application`, `fiche` WHERE ...
Hors ligne
#3 Le 13/05/2013, à 15:57
- Marinou9000
Re : Recherche avancée dans 2 tables differentes
Ouai si, mais pour le ' qui manque cela viens d'une erreur lors de la copie, dans le vrai code il y est ^^
Love is all you need - Yoda
Hors ligne
#4 Le 13/05/2013, à 16:21
- xavier4811
Re : Recherche avancée dans 2 tables differentes
Et la première parenthèse se ferme ? avant le OR a la fin de la 2ème ligne ?
Hors ligne
#5 Le 13/05/2013, à 16:27
- Marinou9000
Re : Recherche avancée dans 2 tables differentes
Oui sur la ligne du dessous ^^
Love is all you need - Yoda
Hors ligne
#6 Le 13/05/2013, à 19:12
- ssdg
Re : Recherche avancée dans 2 tables differentes
il faudrait plutôt essayer de passer tout les "paramètres" de la requête par une fonction du type de http://fr2.php.net/manual/en/function.m … string.php
Sinon, bravo à xavier4811 pour avoir vu le problème de ' et " . Il vaut mieux utiliser un IDE qui détectera ce type de saletés avant même de lancer le code.
s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.
Hors ligne