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

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

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

Message le Ven Fév 08, 2008 20:11

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
Dernière édition par Stefano le Ven Fév 08, 2008 22:40, édité 1 fois.

perodo
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 216
Inscription: Mar Aoû 09, 2005 15:11

Message le Ven Fév 08, 2008 21:28

`user_id` =nom rédacteur (je crois que c'est ça mais je n'en suis pas sûr)



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.

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Ven Fév 08, 2008 21:47

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 ?

perodo
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 216
Inscription: Mar Aoû 09, 2005 15:11

Message le Ven Fév 08, 2008 22:31

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:

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Ven Fév 08, 2008 22:38

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"

perodo
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 216
Inscription: Mar Aoû 09, 2005 15:11

Message le Ven Fév 08, 2008 22:40

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


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Jaiku, Google Dashboard Widgets for Mac, Google Reader Trends

  • Analyse de la classe C (adresse IP)
    Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur).
  • Tester l'indexation récente d'un site dans Google
    Cet outil vous permet de connaître une estimation de l'ancienneté d'un site : il fournit la date à laquelle Google l'a indexé la première fois (et la même chose pour archive.org).
  • TouchGraph
    Description du TouchGraph Google Browser (outil externe) : il s'agit d'un outil graphique permettant de visualiser des sites similaires (selon Google). On peut sauter de site en site, et se rendre compte facilement des communautés de sites, ou des nébuleuses de sites traitant du même sujet.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités