IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requêtes MySQL index des forums et des discussions


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Par défaut Requêtes MySQL index des forums et des discussions
    Salut tout le monde, je viens de m'inscrire et voilà mon premier topic
    bon je cherche à réaliser deux méga requêtes : la première va me lister l'index des forums, elle doit me rapporter le titre et la description du forum, nb posts, nb topics, et les informations sur le dernier message.
    La deuxième doit m'apporter les topics, et pour chacun, l'auteur, le nombre de réponses et le dernier message.
    Je cherche à utiliser un left join pour réaliser ces requêtes
    j'ai cherché dans pas mal de forums et j'ai fouillé dans des forums légers tels que PunBB mais sans résultat
    si vous m'aider ça serait sympa

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Bonjour à toi et bienvenue

    Ça va être difficile de t'aider si on ne connait pas la structure de tes tables. Pour ce qui est du left join tu peux aller voir la doc mysql sur son utilisation ici.

    PS : ce n'est pas la peine de poser la même question sur plusieurs forums

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Par défaut
    OK, j'ai cru avoir posté dans le mauvais forum
    bon commençons pour la première requête
    j'ai la table forums, topics, posts,
    topic à une clé étrangère topic_forum qui va avec forum_id
    post à une clé étrangère post_topic qui va avec topic_id
    je veux par exemple afficher
    nom du forum : hardware
    nb topics : 20
    nb posts : 100
    last message : par peter le 1/1/1 .. dans comment installer
    merci d'avance

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Il y a quelque chose qui t'oblige à faire ça en une seule requête? Si c'est le cas il faut faire une grosse requête composée de sous-requête qui irons chercher les information nécessaire. Mais à mon avis c'est nettement plus simple de faire plusieurs petite requête.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Par défaut
    oui c'est tout à fait possible, mais ça va multiplier le nombre de requêtes
    je veux pas mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ($result=mysql_fetch_assoc($exec)) {
    $req="select"..
    .
    .
    }
    ça va multiplier le nombre de requêtes par le nombre de forums dans l'index des forums et par le nombre de topics dans celui des sujets
    je veux créer une requête qui contient des lefts join et qui permet de grouper par les forums ou les topics
    j'ai déjà essayé mais ça me reste encore d'obtenir le dernier post dans l'index des topics
    merci beaucoup pour ta coopération si tu veux je peux te mettre ma requête

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Oui poste nous ta requête ce sera plus facile de partir d'un existant.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Par défaut
    Voici la méga recette , en fait elle est plus longue, j'ai essayé de l'abréger davantage pour qu'elle soit accessible aux esprits
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    SELECT
    		c.salon_lib AS cat_titre,
    		c.description AS cat_stitre,
     
     
    		sc.salon_lib AS for_titre,
    		sc.description AS for_desc,
    		sc.salon_id AS for_id,
     
    		COUNT(post.post_id) AS nb_posts,
    		COUNT(DISTINCT topic.topic_id) AS nb_topics,
    		COUNT(DISTINCT topics_lus.topicl_id) AS nb_lu,
     
    		topic2.topic_title AS dern_titre,
    		topic2.topic_id AS dern_t_id,
    		topic2.topic_timestamp AS dern_date,
     
    		users.pseudo AS dern_pseudo,
    		users.user_id AS dern_u_id
     
    		FROM salon as sc
    LEFT JOIN salon AS c ON c.salon_id = sc.parent_id
    		LEFT JOIN topic ON topic.topic_salon = sc.salon_id
    		LEFT JOIN post ON post.post_topic = topic.topic_id
    		LEFT JOIN topics_lus ON topics_lus.topicl_id = topic.topic_id AND topics_lus.userl_id=161
    LEFT JOIN users ON users.user_id = topic.topic_user
     
    		LEFT JOIN (
    			SELECT topic_id, topic_title, topic_timestamp, topic_salon
    			FROM topic
    			ORDER BY topic_timestamp  DESC
    			) topic2
    			ON topic2.topic_salon = sc.salon_id
    		GROUP BY sc.salon_id
    		ORDER BY sc.parent_id

Discussions similaires

  1. [MCD]Gestion des droits sur des forums
    Par Vivian Pennel dans le forum Schéma
    Réponses: 1
    Dernier message: 01/05/2007, 16h43
  2. Réponses: 3
    Dernier message: 23/01/2007, 08h14
  3. [MySQL 4.0.17] gestion des mois et des jours
    Par Zen_Fou dans le forum Requêtes
    Réponses: 2
    Dernier message: 29/04/2006, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo