Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1991 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Requete php sur 2 tables

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requete php sur 2 tables

n°1902259
spespam
Posté le 04-07-2009 à 16:13:45  profilanswer
 

Bonjour,
 
J'ai un petit souci de requete.
 
J'ai 2 tables.
 
Table commentaires avec les champs : image_id, commentaire_auteur, commentaire_message, commentaire_visible, commentaire_id
Table images avec les champs : image_id, image_nom
 
Je voudrais extraire :  image_id, commentaire_auteur, commentaire_message, image_nom
 
avec comme critère commentaire_visible="1"
 
J'ai commencé comme ça  
$requete="SELECT * FROM commentaires WHERE commentaire_visible='1' ORDER BY commentaire_id desc LIMIT 12";
 
et ça marche mais il faut ensuite que j'extraie image_nom
 
Je crois qu'il faut une jointure mais je ne sais pas comment l'écrire dans un cas comme ça

mood
Publicité
Posté le 04-07-2009 à 16:13:45  profilanswer
 

n°1902265
dobu
Posté le 04-07-2009 à 17:18:49  profilanswer
 

Bonjour,
 
Je te conseils de faire une jointure =>
 
SELECT images.img_id AS id_img, commentaire.commentaire_auteur AS com_auteur, commentaire.commentaire_message AS com_msg, image.image_nom  AS img_nom
FROM commentaires AS commentaire
LEFT JOIN images AS image
ON commentaire.image_id = image.image_id
WHERE commentaire.commentaire_visible='1'
ORDER BY commentaire.commentaire_id desc
LIMIT 12
 
-------------------
LEFT JOIN = RIGHT JOIN = JOIN = INNER JOIN
 
Bon certes il y a des particularités pour l''INNER JOIN" si tu fais des sous-requêtes (requêtes imbriquées ou si tu préfères des requête dans des requêtes).
-------------------
 
Autre solution de jointure ==>
SELECT images.img_id AS id_img, commentaire.commentaire_auteur AS com_auteur, commentaire.commentaire_message AS com_msg, image.image_nom  AS img_nom
FROM commentaires AS commentaire, images AS image
WHERE commentaire.image_id = image.image_id

AND commentaire.commentaire_visible='1'
ORDER BY commentaire.commentaire_id desc
LIMIT 12
 
-------------------
 
J'ai utilisé des alias ("AS" ) dans le "SELECT" et "FROM" cela est facultatif.
Dans le "SELECT" j'ai précisé le nom de la table et le nom du champ, cela évite des problèmes si tu as un ou plusieurs champs ayant le même nom (enlève l'ambiguïté).
Dans tes 2 table le champ "image_id" est concerné mais dans ta situation cela n'a aucun effet car c'est un champs qui sert de relation.

n°1902267
jean-miche​l-nux
vive linux
Posté le 04-07-2009 à 17:24:09  profilanswer
 


 
 select image_id,c.........  from commentaires as a,images as b  where a.commentaire_visible=1 and b.image_id = a.image_id ;

n°1902268
jean-miche​l-nux
vive linux
Posté le 04-07-2009 à 17:27:46  profilanswer
 

desolé on a du taper la reponse en meme temps

n°1902274
spespam
Posté le 04-07-2009 à 18:00:15  profilanswer
 

merci beaucoup ! j'ai pris la première méthode. ça marche nickel.

n°1902307
dobu
Posté le 04-07-2009 à 19:41:24  profilanswer
 

jean-michel-nux a écrit :

desolé on a du taper la reponse en meme temps


 
Ce n'est pas grave mieux vaut 2 réponses qu'aucune :).

n°1902309
esox_ch
Posté le 04-07-2009 à 19:59:43  profilanswer
 

Citation :

LEFT JOIN != RIGHT JOIN != JOIN != INNER JOIN


 
Merci de ne pas écrire ce genre de "passe droit" à un débutant qui finira inévitablement par se tirer une balle dans le pied


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1902910
simoes
Posté le 06-07-2009 à 21:54:07  profilanswer
 

Je préconise la première solution.  
 
Elle est beaucoup plus rapide à exécuter et beaucoup plus clair quand tu as beaucoup de liaisons.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Requete php sur 2 tables

 

Sujets relatifs
Requete dans plusieurs tables [resolu]Requête sur plusieurs tables avec un nombre de champs différent
[Access] Requete qui renvoit la synthèse de 2 tables.Requête sur deux tables
Forger une requete de recherche sur plusieurs tables.[Résolu] Du mal avec une requête sur tables à relation réfléchie
Requete avec tables satellites - tout dans une seule ligneRequete simultanee sur 2 tables
Requete sql sur plusieurs tablesAffichage Requête 2 tables
Plus de sujets relatifs à : Requete php sur 2 tables


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR