Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/05/2013, à 14:56

Marinou9000

Recherche avancée dans 2 tables differentes

Bonjour smile
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 tongue ), 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 smile
Marine


Love is all you need - Yoda

Hors ligne

#2 Le 13/05/2013, à 15: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, à 16: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, à 17: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, à 17: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, à 20: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