Besoin d'aide pour requete complexe

Discussion dans 'Web, design' créé par DeScH, 18 Août 2007.

Statut de la discussion:
Fermée.
  1. Offline
    DeScH AstaLaVista
    Hello

    J'ai cette requete qui récupère des infos sur les articles

    Code:
    $sql ="SELECT articles.id,articles.titre,articles.contenu,articles.image,articles.image_mini,articles.image_float,articles.timestamp,articles.timestamp_modif,articles.id_categorie,redacteurs.pseudo,categories.titre AS titre_categorie
    		FROM ". ARTICLES. " AS articles 
    			INNER JOIN ". CATEGORIES ." AS categories 
    			INNER JOIN ". REDACTEURS ." AS redacteurs 
    				ON articles.id_categorie = categories.id 
    				AND articles.id_redacteur = redacteurs.id 
    					WHERE articles.id=$id_art";
    Je voudrais y incorporer

    Code:
    $sql = SELECT COUNT(*) AS nb_coms FROM ". COMMENTAIRES ." WHERE id_article = $id AND valide='1'";
    qui récupère le nombre de commentaires associés à cet article afin de ne pas devoir la mettre dans le while de la requete précédente. Est-ce possible?
    DeScH, 18 Août 2007
    #1
  2. Offline
    kokotchY Elite
    Code:
    $sql ="SELECT articles.id,articles.titre,articles.contenu,articl  es.image,articles.image_mini,articles.image_float,  articles.timestamp,articl  es.timestamp_modif,articles.id_categorie,redacteurs.pseudo,categories.titre  AS titre_categorie, COUNT(c.id_article) AS nb_coms, commentaires.valide
    		FROM ". ARTICLES. " AS articles 
    			INNER JOIN ". CATEGORIES ." AS categories 
    			INNER JOIN ". REDACTEURS ." AS redacteurs 
    				ON articles.id_categorie = categories.id 
    				AND articles.id_redacteur = redacteurs.id 
                                                    INNER JOIN ".COMMENTAIRES." AS commentaires
    				ON articles.id_articles = commentaires.id_articles
    					WHERE articles.id=$id_art" AND commentaires.valide = 1 
    				                GROUP BY id_articles;
    Je crois que c'est quelque chose comme ca... mais je n'ai jamais utilisé INNER JOIN donc je ne suis pas sur :)
    kokotchY, 18 Août 2007
    #2
  3. Offline
    DeScH AstaLaVista
    Non ca ne marche pas :beuh:
    DeScH, 18 Août 2007
    #3
  4. Offline
    kokotchY Elite
    Tu pourrais donner les structures des tables que j'essaie en local ?
    kokotchY, 18 Août 2007
    #4
  5. Offline
    DeScH AstaLaVista
    Non c'est bon j'ai trouvé, merci :)

    Exemple:

    $sql = "SELECT timestamp, timestamp_modif, (SELECT COUNT(*) FROM ". ARTICLES .") AS nb_articles FROM ". ARTICLES;
    DeScH, 18 Août 2007
    #5
Statut de la discussion:
Fermée.