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

WRInaute discret
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
 
WRInaute discret
`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.
 
WRInaute discret
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 ?
 
WRInaute discret
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:
 
WRInaute discret
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"
 
WRInaute discret
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
 
Discussions similaires
Haut