Accueil > Forum > > > > Requete multi table
Requete multi table
mardi 31 juillet 2007 à 10:13:15 |
Requete multi table

flopad
|
Bonjour, j'ai une requete à faire sur plusieurs tables, je ne parviens pas à trouver la bonne syntaxe, qq'un peut il m'aider plesae..? Voici ma requete, il faut que je recherche sur une table appelée "News" en plus de celle nommée "cms" $query = "SELECT nom_page,chemin,titre,contenu FROM cms WHERE nom_page LIKE \"%$requete%\" OR titre LIKE \"%$requete%\" OR contenu LIKE \"%$requete%\" "; Merci d'avance!!!
|
|
mardi 31 juillet 2007 à 16:47:55 |
Re : Requete multi table

kishkaya
|
Bonjour, Ca s'appelle les jointure SQl : http://sqlpro.developpez.com/cours/sqlaz/jointures/
Bonne lecture
_Marikou
|
|
mardi 31 juillet 2007 à 17:21:49 |
Re : Requete multi table

flopad
|
Bonjour,
merci pour le lien, je viens d'y jeter un oeil, a priori, la syntaxe qui me conviendrait serait celle-ci :
$query = "SELECT nom_page,chemin,titre,contenu FROM cms NATURALJOIN news WHERE nom_page LIKE \"%$requete%\" OR titre LIKE \"%$requete%\" OR contenu LIKE \"%$requete%\" ";
Or, ca me sort une erreur sur les lignes suivantes :
$result = mysql_query($query);
$row = mysql_fetch_row($result);
Merci encore...
|
|
mercredi 1 août 2007 à 10:58:11 |
Re : Requete multi table

flopad
|
Bonjour, j'ai avancé un petit peu, voici ma requete désormais :
SELECT cms.nom_page,cms.titre,cms.chemin,cms.contenu,news.nom_page,news.titre,news.chemin,news.contenu FROM cms JOIN news ON news.id=cms.id WHERE cms.nom_page LIKE \"%$requete%\" OR cms.titre LIKE \"%$requete%\" OR cms.contenu LIKE \"%$requete%\" OR news.nom_page LIKE \"%$requete%\" OR news.titre LIKE \"%$requete%\" OR news.contenu LIKE \"%$requete%\"
Par contre, apparemment, la recherche ne se fait plus que sur la table news.... QQ'un peut m'aider please???
Merci!
|
|
vendredi 3 août 2007 à 21:42:51 |
Re : Requete multi table

Tenqi
|
Hello,
je pense que tu as encore un problème dans ta jointure. Il faut que tu
mettes dans ta jointure le lien qu'il existe entre tes 2 tables.
Si par exemple tu as une table ModeleVoiture (avec des valeurs 306,
Laguna, Golf...) et une table Marque (avec Renault, Peugeot, ...), la
jointure sera surement ModeleVoiture.id_marque = MarqueVoiture.id
Donc dans ton cas, c'est peut être quelque chose comme
FROM cms INNER JOIN news ON cmw.id=news.id_cms
ou
FROM cms INNER JOIN news ON cmw.id_news=news.id
Mais seul toi pourra trouver la réponse. On ne connait pas la structure de tes données.
Numériquement,
--
Guillaume "Matrix" Gendraud Société Tenqi Création de logiciels et de sites internet http://www.tenqi.fr
|
|
mercredi 8 août 2007 à 13:32:02 |
Re : Requete multi table

flopad
|
Merci pour tes infos, mais je galère encore....peux tu me donner un coup de main avec les infos suivantes...? Voici la structure de mes tables : CMS : NEWS : Merci beaucoup!!!!
|
|
mercredi 8 août 2007 à 13:56:56 |
Re : Requete multi table

Tenqi
|
Réponse acceptée !
Bonjour,
ah ? tes 2 tables sont identiques ?
Dans ce cas, il n'existe pas (je pense) de lien entre tes tables. Il te faut donc utiliser un UNION des 2 tables :
SELECT nom_page, chemin, titre, contenu FROM cms WHERE [tes conditions]
UNION
SELECT nom_page, chemin, titre, contenu FROM news WHERE [tes conditions]
Numériquement,
--
Guillaume "Matrix" Gendraud Société Tenqi Création de logiciels et de sites internet http://www.tenqi.fr
|
|
mercredi 8 août 2007 à 14:09:40 |
Re : Requete multi table

flopad
|
Ah parfait!!!!
Merci beaucoup pour ta précieuse aide!!!!
|
|
jeudi 9 août 2007 à 10:25:16 |
Re : Requete multi table

flopad
|
Excuses moi, j'ai encore un petit soucis....
J'ai ajouté ceci pour "traduire" les éventuels accens saisis lors de la rechercche. $caractere_special=array( "à"=>"à", "á"=>"á", "â"=>"â", "ã"=>"ã", "ä"=>"ä", "å"=>"å", "æ"=>"æ", "ç"=>"ç", "è"=>"è", "é"=>"é", "ê"=>"ê", "ë"=>"ë", "î"=>"î", "ï"=>"ï", "ô"=>"ô", "ö"=>"ö", "ù"=>"ù", "ú"=>"ú", "û"=>"û", "ü"=>"ü", "&"=>"&", );
$requete = str_replace(" "," ",$requete); $requete = str_replace(" "," ",$requete);
foreach($caractere_special as $caractere_traduction=>$caractere_code) { $requete = str_replace("$caractere_traduction","$caractere_code",$requete); }
J'exploite ensuite ma recherche de la manière suivante :
$query = "SELECT nom_page,titre,chemin,contenu FROM cms WHERE nom_page LIKE \"%$requete%\" OR titre LIKE \"%$requete%\" OR contenu LIKE \"%$requete%\" UNION SELECT nom_page,titre,chemin,contenu FROM news WHERE nom_page LIKE \"%$requete%\" OR titre LIKE \"%$requete%\" OR contenu LIKE \"%$requete%\" "; $result = mysql_query($query);
$row = mysql_fetch_row($result);
Le problème est que lorsque je tape un mot avec un accent, ça ne me donne aucune réponse alors que si je copie cette requete dans phpmyadmin, elle fonctionne parfaitemment.....La traduction des caractères fonctionne bien.
|
|
jeudi 9 août 2007 à 10:42:35 |
Re : Requete multi table

Tenqi
|
Bonjour,
pourquoi cherches-tu à convertir les accents ? Par défault, la requête ne fonctionne pas ? Parce que je ne vois pas pourquoi ça ne serait pas ok par défault.
Et c'est normal que ta requête ne fonctionne pas parce que avec ta transformation, la requête exécutée est du genre : SELECT nom_page,titre,chemin,contenu FROM cms WHERE nom_page LIKE \"%aller à la piscine%\" ...
et du coup, je doute que dans ton champ, tu ais "à" mais je pense que tu as plutôt "à". Et c'est normal qu'en copiant la requête, elle fonctionne parce que ton browser t'affiche le caractère décodé (donc "à") et non "à". Regarde plutôt dans le code source de ta page, il devrait y avoir "à"
Pour info, la ligne $requete = str_replace(" "," ",$requete); ne sert pas à grand chose
Numériquement,
--
Guillaume "Matrix" Gendraud, Société Tenqi Développement informatique, site internet, intranet http://www.tenqi.fr
|
|
Cette discussion est classée dans : table, requete, like, multi, cms
Répondre à ce message
Sujets en rapport avec ce message
LIKE multi sur une requete [ par bombleague ]
Bonjour je voudrais savoir comment faire un LIKE sur deux variables dans la même requete?? est possible , EX var1,var2 LIKE '%abcd%' ou utiliser
Requete SQL [ par flopad ]
Salut!!J'ai un formulaire à partir duquel je récupère des infos; j'envoie ensuite ces infos dans une requete SQL, mais ca me sort l'erreur Query was e
Probleme insertion dans une table. [ par martinaur ]
Bonjour,je debute en php et j'ai un petit probleme, voila mon script : $requete = "insert into matable (Auteur, Texte, Date) values ('$Auteur','$Text
Requete inverse de LIKE [ par jumano ]
Bonjour,J'aimerais savoir si l'on peut utiliser dans une requête la syntaxe 'NOT LIKE' à m'inverse de 'LIKE' afin de retourner des enregistrement qui
Requete si DEL alors INS [ par Eliays ]
Bonjour, voila j'aurais besoin de vous pour un tout petit bout de code php. ma table sql est composer de 2 : pseudo et timestamp. ajoutons par exemp
probleme de requete (imbriqué?) [ par MATHIS49 ]
Bonjour !J'ai une table qui se presente sous cette
Requete SQL [ par flopad ]
Bonjour, j'ai un soucis lorsque je fais une requete dans ma bdd...Lorsque je fais la requete suivante : SELECT * FROM `cms` WHERE contenu LIKE '%quali
comment faire une select [ par Medgueye ]
Bonjour à tous;Je travaille sur MYSQL et j'ai une table T avec un champ date sous le format aaaa-mm-jj hh:ii:ss.Je veux faire une requete qui selectio
XSS dans requete sql un peu spéciale [ par mickadevelop ]
Bonjour à tous et toutes,J'ai une question concernant les requete mysql et la sécurité relative au injections sql.(cette requete est utilisé que pour
Requete sql helppppp [ par Wars007 ]
Salut tlm!!Je voudrais savoir comment par ex:si la table sql LOL exsite pas cree alors la table LOL???qqun pe y repondre svpmerci :p
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|