[reglé] Dotclear : afficher les billets du même rédacteur

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Stefano, 8 Février 2008.

Tags:
  1. Stefano
    Stefano WRInaute discret
    Inscrit:
    12 Février 2006
    Messages:
    244
    J'aime reçus:
    0
    Bonjour,

    Je vous explique mon problème. J'ai un blog Dotclear 1.2. Je fais afficher les derniers billets de mon blog sur la page d'accueil de mon site et cela marche nickel. Là je voudrais me compliquer la vie et afficher les derniers post du même rédacteur. voici le bout de code en question :

    $sql = 'SELECT * FROM `'.DB_PREFIX.'post` WHERE `cat_id` =3 AND `post_pub` =1 ORDER BY `post_id` DESC LIMIT 10;';

    je voudrais donc ajouter aussi la condition 'SELECT * FROM `'.DB_PREFIX.'user` WHERE `user_id` =nom rédacteur (je crois que c'est ça mais je n'en suis pas sûr)

    Je ne m'y connait pas beaucoup et alors je vous pose la question comment lier les deux conditions ?

    Le code globale est :
    <?php
    define('CONF_ONLY', true);
    include config.php';
    mysql_connect("localhost"," "," ");
    mysql_select_db(DB_DBASE);
    $sql = 'SELECT * FROM `'.DB_PREFIX.'post` WHERE `cat_id` =3 AND `post_pub` =1 ORDER BY `post_id` DESC LIMIT 1;';
    $result = mysql_query($sql);
    while ($row = mysql_fetch_array($result)) {
    $postlink = str_replace('-', '/', substr($row['post_dt'], 0, 0)).$row['post_id'].'-'.$row['post_titre_url'];
    $posttext = empty($row['post_chapo']) ? $row['post_content'] : $row['post_chapo'];
    $posttext = substr("$posttext",0 , 1300);
    ?>
    <h3><a href="/blog/<?php echo $postlink; ?>"><?php echo $row['post_titre']; ?></a></h3>
    <div><?php echo $posttext; ?></div>


    <?php
    }
    mysql_close();
    ?>

    Je vous remercie par avance.

    Stefano
     
  2. perodo
    perodo WRInaute discret
    Inscrit:
    9 Août 2005
    Messages:
    202
    J'aime reçus:
    0

    user_id est le numéro d'identification de l'utilisateur dans la base de donnée.
    le nom doit etre quelque chose comme user_name






    <?php
    define('CONF_ONLY', true);
    include config.php';
    mysql_connect("localhost"," "," ");
    mysql_select_db(DB_DBASE);
    $sql = 'SELECT * FROM `'.DB_PREFIX.'post`, `'.DB_PREFIX.'user` WHERE `cat_id` =3 AND `post_pub` =1 AND user_id='.$user_id.' ORDER BY `post_id` DESC LIMIT 1;';
    $result = mysql_query($sql);
    while ($row = mysql_fetch_array($result)) {
    $nom = $row['user_name'];//le nom de l'utilisateur
    $postlink = str_replace('-', '/', substr($row['post_dt'], 0, 0)).$row['post_id'].'-'.$row['post_titre_url'];
    $posttext = empty($row['post_chapo']) ? $row['post_content'] : $row['post_chapo'];
    $posttext = substr("$posttext",0 , 1300);
    ?>
    <h3><a href="/blog/<?php echo $postlink; ?>"><?php echo $row['post_titre']; ?></a></h3>
    <div><?php echo $nom.' :<br>'.$posttext; ?></div>


    <?php
    }
    mysql_close();
    ?>

    le mieux reste de poser la question sur le forum de support de dotclear.
     
  3. Stefano
    Stefano WRInaute discret
    Inscrit:
    12 Février 2006
    Messages:
    244
    J'aime reçus:
    0
    Merci pour ta réponse. J'ai bien contrôlé dans la Base de données et user_id est bien un nom. Ma question est comment sélectionner de deux "tables" différentes ?
     
  4. perodo
    perodo WRInaute discret
    Inscrit:
    9 Août 2005
    Messages:
    202
    J'aime reçus:
    0
    SELECT nomattribut1,...,nomattributN FROM nomdetable1 INNER JOIN nomdetable2 ON nomdetable1.nomattribut=nomdetable2.nomattribut WHERE conditions;

    source:http://www.phpsources.org/tutoriel-join.htm#part_2 :wink:
     
  5. Stefano
    Stefano WRInaute discret
    Inscrit:
    12 Février 2006
    Messages:
    244
    J'aime reçus:
    0
    Merci Perodo... là je viens de découvrir que 'user_id' existe aussi dans la table 'post'. Par contre comme il s'agit d'un nom et pas d'un chiffre il faut mettre les guillemets "redacteur"
     
  6. perodo
    perodo WRInaute discret
    Inscrit:
    9 Août 2005
    Messages:
    202
    J'aime reçus:
    0
    encore mieux, oublie la jointure SQL pas besoin le SELCT * veux dire selectionner tous les champs de la table posts.
    donc
    et met ca dans la boucle
    $nom = $row['user_id'];//le nom de l'utilisateur
     
Chargement...
Similar Threads - [reglé] Dotclear afficher Forum Date
[Réglé] Résultat de recherche indésirable dans la ligne verte Référencement international (langues, pays) 12 Février 2011
Dotclear - projet communautaire open-source a besoin de vous Développement d'un site Web ou d'une appli mobile 29 Juin 2017
Recherche aide sur Dotclear Demandes d'avis et de conseils sur vos sites 25 Juin 2014
Dotclear vers Wordpress Développement d'un site Web ou d'une appli mobile 3 Juin 2011