| |
Savez-vous bien utiliser les outils de mesure d'audience ? Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ? Savez-vous utiliser les bons outils pour booster votre taux de transformation ? La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions ! ===> Informations et inscriptions.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
darkjukka WRInaute impliqué

Inscrit le: 28 Avr 2007 Messages: 311
|
Posté le : Dim Nov 11, 2007 16:30 Sujet du message: Affichage des derniers topics du forum sur le site |
|
|
Bonjour!
Voila, pour afficher les derniers topics de mon forum phpbb sur la page d'accueil de mon site j'utilise ce code mais il n'exclue pas le forum privé visible par les modérateur.
Y'a t-il un moyen de le modifier en lui faisant vérifier la valeur du champ "forum_id" dans la table "phpbb_topics" et si celle ci est par exemple égale à 5 (forum privé), il n'affiche rien et si c'est une autre valeur il affiche le contenu ?
| Code: |
<?php
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
include('../forum/phpbb_seo/phpbb_seo_class.php');
$phpbb_seo = new phpbb_seo();
$phpbb_seo->seo_path['phpbb_script'] = 'forum/';
$phpbb_seo->seo_path['root_url'] = 'http://www.blind-guardian.fr/';
$phpbb_seo->seo_path['phpbb_url'] = $phpbb_seo->seo_path['root_url'] . $phpbb_seo->seo_path['phpbb_script'];
$phpbb_seo->seo_url['user'] = $this->seo_static['user'] = 'membre';
// www.phpBB-SEO.com SEO TOOLKIT END
// Connexion à la BDD
$db_link = @mysql_connect(***,***,***);
mysql_select_db(***);
// Sélection des 5 derniers posts
$sql = "SELECT TP.topic_id, TP.topic_title, PT.post_text, PST.post_time, PST.poster_id, PST.post_username, US.username
FROM phpbb_topics TP, phpbb_posts_text PT, phpbb_posts PST, phpbb_users US
WHERE PT.post_id = TP.topic_first_post_id
AND PST.post_id = TP.topic_first_post_id
AND US.user_id = TP.topic_poster
GROUP BY TP.topic_id
ORDER BY TP.topic_id DESC
LIMIT 5";
$req = mysql_query($sql) or die(mysql_error());
// Boucle d'affichage du post
while($db_data = mysql_fetch_assoc($req)) {
// Titre du post
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$post_title = "<a href=\"" . $phpbb_seo->seo_path['phpbb_url'] . $phpbb_seo->format_url($db_data['topic_title']) . $phpbb_seo->seo_delim['topic'] . $db_data['topic_id'] . $phpbb_seo->seo_ext['topic'] . "\">" . $db_data['topic_title'] . "</a>";
$post_title = preg_replace("(´)","'",$post_title );
$post_title = preg_replace("(à)","à",$post_title );
$post_title = preg_replace("(â)","â",$post_title );
$post_title = preg_replace("(ä)","ä",$post_title );
$post_title = preg_replace("(ç)","ç",$post_title );
$post_title = preg_replace("(è)","è",$post_title );
$post_title = preg_replace("(é)","é",$post_title );
$post_title = preg_replace("(ê)","ê",$post_title );
$post_title = preg_replace("(ë)","ë",$post_title );
$post_title = preg_replace("(î)","î",$post_title );
$post_title = preg_replace("(ï)","ï",$post_title );
$post_title = preg_replace("(ù)","ù",$post_title );
$post_title = preg_replace("(ü)","ü",$post_title );
$post_title = preg_replace("(û)","û",$post_title );
$post_title = preg_replace("(ô)","ô",$post_title );
$post_title = preg_replace("(ö)","ö",$post_title );
$post_title = preg_replace("(«)","«",$post_title );
$post_title = preg_replace("(»)","»",$post_title );
// www.phpBB-SEO.com SEO TOOLKIT END
// Extrait du post
$post = $db_data['post_text'];
$max_caracteres = 200;
if (strlen($post)>$max_caracteres) {
$max_caracteres=strrpos(substr($post, 0, $max_caracteres), " ");
$post = substr($post, 0, $max_caracteres);
$post .= " (...)";
}
$post = preg_replace("(\[.*\])U","",$post );
$post = preg_replace("(´)","'",$post );
$post = preg_replace("(à)","à",$post );
$post = preg_replace("(â)","â",$post );
$post = preg_replace("(ä)","ä",$post );
$post = preg_replace("(ç)","ç",$post );
$post = preg_replace("(è)","è",$post );
$post = preg_replace("(é)","é",$post );
$post = preg_replace("(ê)","ê",$post );
$post = preg_replace("(ë)","ë",$post );
$post = preg_replace("(î)","î",$post );
$post = preg_replace("(ï)","ï",$post );
$post = preg_replace("(ù)","ù",$post );
$post = preg_replace("(ü)","ü",$post );
$post = preg_replace("(û)","û",$post );
$post = preg_replace("(ô)","ô",$post );
$post = preg_replace("(ö)","ö",$post );
$post = preg_replace("(«)","«",$post );
$post = preg_replace("(»)","»",$post );
$poster = "<a href=\"" . $phpbb_seo->seo_path['phpbb_url'] . $phpbb_seo->seo_static['user'] . $db_data['poster_id'] . $phpbb_seo->seo_ext['user'] . "\" class=\"nav\" >".$db_data['username']."</a>";
$post_time = strftime("%A %e %B à %H:%M", $db_data['post_time']+(0));
echo "<p>$post_title par $poster<br />$post_time<br />$post</p>";
}
?> |
|
|
| |
|
 |
YoyoS WRInaute accro

Inscrit le: 14 Sep 2006 Messages: 2379
|
Posté le : Dim Nov 11, 2007 17:16 Sujet du message: Affichage des derniers topics du forum sur le site |
|
|
Ptet rajouter dans ta requête SQL ce qu'il faut ?
Si tu veux pas afficher les posts prevenant du idforum 1 et 2
| Code: |
| AND TP.forum_id NOT IN (1,2) |
ou à tester pour ton cas :
| Code: |
| AND TP.forum_id <> 5 |
ou en prenant juste ceux des forums que tu veux
| Code: |
| AND TP.forum_id IN (3,4,6) |
? |
|
| |
|
 |
darkjukka WRInaute impliqué

Inscrit le: 28 Avr 2007 Messages: 311
|
Posté le : Dim Nov 11, 2007 17:41 Sujet du message: Affichage des derniers topics du forum sur le site |
|
|
Cela marche parfaitement, merci (j'ai opté pour la première solution) |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|