Dotclear - Billets sur une autre page

WRInaute occasionnel
Bonjour à tous,

J'ai installé récemment Dotclear sur mon site pour l'actu.
J'aimerais avoir sur la page d'accueil de mon site les derneirs billets créés comme sur la page d'accueil de WRI.

Est-ce que quelqu'un pourrait m'orienter dans mes recherches merci ?
 
WRInaute passionné
Salut,

Voici la requète à executer pour avoir les 5 derniers billets :

Code:
SELECT * FROM `dc_post` ORDER BY `post_id` DESC  LIMIT 0 , 5

et les noms des variables qui tu auras certainement besoin :

post_titre (titre du billet)
post_creadt (date de création)
post_titre_url (url)
post_content (contenu du billet)
 
WRInaute occasionnel
Merci rottman, mais je suis une bille en php.
Faut-il insérer le code dans la page d'accueil à l'aide d'un include ?
Si oui, quel serait le code ?
 
WRInaute impliqué
rottman a dit:
Salut,

Voici la requète à executer pour avoir les 5 derniers billets :

Code:
SELECT * FROM `dc_post` ORDER BY `post_id` DESC  LIMIT 0 , 5

et les noms des variables qui tu auras certainement besoin :

post_titre (titre du billet)
post_creadt (date de création)
post_titre_url (url)
post_content (contenu du billet)

Dans ce cas il est préférable de mettre dans le SELECT seulement les variables dont tu as besoin ;)
 
WRInaute occasionnel
mowmow a dit:
rottman a dit:
Salut,

Voici la requète à executer pour avoir les 5 derniers billets :

Code:
SELECT * FROM `dc_post` ORDER BY `post_id` DESC  LIMIT 0 , 5

et les noms des variables qui tu auras certainement besoin :

post_titre (titre du billet)
post_creadt (date de création)
post_titre_url (url)
post_content (contenu du billet)

Dans ce cas il est préférable de mettre dans le SELECT seulement les variables dont tu as besoin ;)

J'ai du mal à comprendre si ça répond aux questions de mon post précédent...
 
WRInaute passionné
Code:
<?php
$connexion = mysql_connect("localhost", "login","mdp");
$req = "SELECT * FROM `dc_post` ORDER BY `post_id` DESC  LIMIT 0 , 5";
$result = mysql_query($req);
while($var = mysql_fetch_array($result))
 {
echo $var["post_titre"];
echo $var["post_creadt"];
echo $var["post_titre_url"];
echo $var["post_content"];
 }
mysql_close($connexion);
?>
 
WRInaute occasionnel
En modifiant le code que tu m'a donné rottman, j'ai réussi à afficher ce que je voulais, seulement j'ai un soucis : j'ai dans le texte pour certains mots avec accents des signes bizarres qui se mettent à la place (Ex: se déroulait, au lieu de se déroulait).

Deuxième petites choses : comment faire pour limiter l'affichage du billet aux X premiers mots ?

Merci encore
 
WRInaute occasionnel
Ok j'ai réussi à répondre moi-même à la deuxième question.

Par contre je bloque sur le problème des signes bizarres. Donc si quelqu'un a une idée du pourquoi ces signes apparaissent...
 
WRInaute occasionnel
OK je comprend. Mon dossier actu (dotclear) à un charset=UTF-8 et mon site un charset=iso-8859-1

Donc lorsque j'affiche des données sur mon site qui viennent de dotclear, ça bug...
 
WRInaute occasionnel
Bon j'ai décidé de réinstaller dotclear en le laissant en ISO (heureusement que je n'ai pas des masses de billets... à vrai dire encore aucun).

Merci pour m'avoir aidé à trouver les problèmes rottman, pour le reste je pense être capable de le faire.
 
WRInaute passionné
Pour ma part j'ai utilisé ce code:

Code:
<?php
define('CONF_ONLY','1');
include('./dotclear/conf/config.php');
        
@ $db = mysql_pconnect(DB_HOST,DB_USER,DB_PASS);
if(!$db) { echo 'Erreur de connexion'; exit; }
                
mysql_select_db(DB_DBASE);
$query =
' SELECT post_id,post_titre,post_titre_url,post_dt 
  FROM '.DB_PREFIX.'post 
  ORDER BY post_id DESC LIMIT 5';
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
        
echo '<ul>';
for($i = 0 ; $i < $num_results ; $i++)
{
  $row = mysql_fetch_array($result);
  $date = explode(' ',$row['post_dt']);
  $date_slash = str_replace('-','/',$date[0]);
  echo '<li><a href="/dotclear/index.php/'.$date_slash.'/'
    .$row['post_id'].'-'.$row['post_titre_url'].'" title="'
    .$row['post_titre'].'">'.$row['post_titre'].'</a></li>';
}
echo '</ul>';
?>

Source: http://www.biologeek.com/journal/index. ... e-daccueil


Ca marche parfaitement.
 
WRInaute occasionnel
Bonjour à tous,

j'ai suivi la démarche de lothar et ça marche impec, seulement je voudrais ajouter la date au dessus de chaque post en page d'accueil de mon site sous la forme : 09 novembre 2005

Je crois qu'il faut jongler avec la variable $date[0], mais étant une buse en php je me demandais si vous pouviez me donner un coup de main.

Merci d'avance.
 
WRInaute passionné
J'ai une petite question: j'aimerais afficher les 5 dernières news dans mon forum phpBB.

Quel fichier dois-je modifier ? Sachant qu'on ne peut pas inclure de php dans un template phpBB (me trompe-je ?)...
 
Discussions similaires
Haut