Accueil > Forum > > > > recherche necessitant jointure
recherche necessitant jointure
vendredi 28 décembre 2007 à 09:16:36 |
recherche necessitant jointure

christuckers
|
Bien le bonjour à tous les CSistes.
C'est une question de débuta,t je sais mais je n'arrive pas à faire faonctionner un module de recherche qui necessite une jointure et entre nous, ca commence a me  .
Donc, je commence les hostilités :
Dans vp.php : mon formulaire de recherche :
<form action="listerecherchevp.php?complet=<?=$nomic?>" method="post" name="p" target="body" id="i">
<td>Recherche par IC </td> <td width="20%" align="left" valign="middle"> <div align="center"> <input name="nomic" type="text"> <input name="r" type="hidden" value="4" >
</div></td> <td width="10%" align="center" valign="middle">
<input type="submit" name="Submit" value="Envoyer">
</td> <td width="20%" align="center" valign="middle"> </td>
</form>
Dans ma page listerecherchevp.php voici ma requete :
elseif (
$r=='4' ){ $query = "SELECT * FROM vft_files,vft_users WHERE vft_files.iduser = vft_users.id AND vft_users.login LIKE '%complet%' "; }
Donc je cherche a faire affiicher les infos de la table vft_files en recherchant les ques les fichiers créer par un user en particulier. Dans ma table vft_files : l'ID de l'user s'enregistre dans un champ s'appelant iduser. L'utilisateur est enregistré dans la table vft_user dans un champ : id, et son se trouve dans le champ login.
Mon objectif est de taper une partie du login dans le formulaire de recherche et qu'il m'affiche les fichiers correspondants créés par la personne que je recherche.
Merci d'avance pour votre aide.
|
|
vendredi 28 décembre 2007 à 17:18:32 |
Re : recherche necessitant jointure

neigedhiver
|
Salut,
$query = 'SELECT champ1, champ2, ...
FROM vft_users
LEFT JOIN vft_files
ON vft_users.id=vft_files.iduser
WHERE vft_users.login LIKE \'%' . $complet . '\'%;';
Préconisations :
- n'utilise pas la syntaxe =$variable?> car elle nécessite que la configuration de PHP ait short-open_tags à ON, ce qui n'est pas toujours le cas
- évite aussi d'utiliser * pour lister les champs à récupérer : si plus tard tu rajoutes dans ta table des champs dont tu n'as pas besoin à chaque requête, ils seront quand même chargés, ce qui fait perdre en performances et consomme plus de mémoire
Il se peut que ta requête soit ok, mais il faut penser à mettre un $ devant le nom de ta variable complet :
LIKE '%$complet%'
WHERE ne devrait pas être utilisé pour faire une jointure, mais uniquement pour limiter les enregistrements à ceux qui correspondent à la condition. Quand on fait une jointure, autant la faire explicitement (avec JOIN) qu'implicitement (avec une virgule comme tu l'as fait), surtout quand on fait une liaison entre deux tables, sur un champ (d'où l'utilité du mot clé ON)
|
|
vendredi 28 décembre 2007 à 17:22:35 |
Re : recherche necessitant jointure

sidf
|
salut
<form action="listerecherchevp.php" method="post" name="p" target="body" id="i"> ... <input name="nomic" type="text"> <input name="r" type="hidden" value="4" > ... </form>
deja si tu utilises la methode POST, ne passe pas ton param en GET donc tu peux te servir directement du champ 'nomic'
elseif ($r=='4' ) { $nomic=$_POST['nomic']; // par securité $query = "SELECT * FROM vft_files,vft_users WHERE vft_files.iduser = vft_users.id AND vft_users.login LIKE '%$nomic%' "; } ...
j'avais oublié le $
|
|
vendredi 28 décembre 2007 à 18:09:46 |
Re : recherche necessitant jointure

neigedhiver
|
"$nomic=$_POST['nomic']; // par securité"
LOL tu parles d'une sécurité... C'est probablement ce qui permet le plus les injections SQL...
|
|
vendredi 28 décembre 2007 à 19:55:32 |
Re : recherche necessitant jointure

malalam
|
@sidf => je ne suis pas non plus ton raisonnement. Tu peux l'expliquer un peu plus précisément stp? POST n'est pas plus sécurisé que GET. Bon on va dire c'est un tout petit peu plus difficile à contourner pour un noob...mais si on veut hacker un site pour de bon, on n'est pas un noob. Enfin...en tout cas, si on veut réussir ;-) Et je ne pige pas du tout ton $nomic = $_POST['nomic'], ça change quoi au juste à part bouffer un peu plus de mémoire ? Déjà, une bonne protection, c'est d'échapper les caractères à problème (mysql_real_escape_string() pour mysql par exemple).
|
|
Cette discussion est classée dans : recherche, id, files, jointure, vft
Répondre à ce message
Sujets en rapport avec ce message
Formulaire de recherche + liste affichage 2 tables [ par christuckers ]
Salut tout le monde !!Bon ba ma question est sans doute facile à résoudre, mais malgrès <a target="_blank" title="http://www.vulgarisation-informatiqu
Affiche le résultat d'une jointure [ par evenkil ]
Bonjour, j'ai un petit problème dans ma jointure, enfin, pour affiche le résultat.Ma requete :SELECT * FROM table1, table2 WHERE table1.ville = table2
recherche d'enregistrement [ par duodiscus ]
bonsoir,alors voilà, j'ai une base de donnée qui contient des produitset j'ai une page de modification de produiten entête de cette page, j'ai une sor
Jointure / pb affichage dans un while [ par cybermalicia ]
kikou à tous !!!Voila jsui en ce moment en train de créer un petit site dont je mettrait les sources en ligne une fois fini.Mais pour le moment j'ai u
Requête avec jointure non obligatoire [ par destiny ]
Bonjour, Ma requete (CI) : [color=green]$this->db->select('_ID_contact, _ID_bien, action, auto, commentaires.commentaire, commentaires.date_creation
recherche par selecteur [ par duodiscus ]
bonjour,j'ai un petit soucis sur mon sitesur mon index.php, j'ai un selecteur de recherche par marque (de produits)il ressemble à ça :function selectr
Besoin d'aide pour optimisation code [ par lineb76 ]
Bonjour,Je me tourne vers vous car je suis completement perdu avec mon code et j'aurais besoin d'aide pour l'optimiser. il est tres tres lent et tres
Recherche par mot-clés [ par balistik35 ]
Bonjour,Je cherche à faire une recherche par mot-clés dans ma base de données MySQL mais avec une certaine condition. Je développe un site de question
problème moteur de recherche [ par tony4758 ]
Bonjour, j'ai crée un moeur de recherche très simple avec base de donnée. Voici la structure de ma base :CREATE TABLE sonarty_search (id INT UNSIGNED
SESSION_ID : recherche d'un ID de session [ par SaveC ]
Bonjour à tous,Je cherche à vérifier si un utilisateur connecté à mon site possède un Identifiant de session déterminé.J'ai trouvé sur la doc PHP, la
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : DEMANDE D'AIDERE : DEMANDE D'AIDE par jimmypage64
Cliquez pour lire la suite par jimmypage64
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|