MyBB.support, le portail francophone de MyBB
Script affichage derniers post sur son site - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.support)
+-- Forum : Plug-ins et modules pour MyBB (https://mybb.support/forum-32.html)
+--- Forum : Support (https://mybb.support/forum-15.html)
+--- Sujet : Script affichage derniers post sur son site (/thread-40.html)



Script affichage derniers post sur son site - mumulafrite - 03-11-2006

Bonjour,
ce post servira à coup sur à une personne désireuse d'afficher les derniers post sur sont site.
C'est un petit script en php, vous pouvez biensur le modifier à volonter:

Code :
<? // Connection
$db = mysql_connect('serveur', 'login', 'mot de pass');
// on sélectionne la base
mysql_select_db('labase',$db);
//si forum à ne pas afficher
// mettre avant ORDER WHERE fid!=50 (50 est un exemple mettre l'id du forum
$sql = "SELECT * FROM mybb_posts ORDER BY dateline DESC LIMIT 0 , 10";
$res = mysql_query($sql);
while($tab=mysql_fetch_array($res)) {
$page =  "forums/showthread.php?tid=".$tab['tid']."";
echo "<a href='$page'?phpMyAdmin=Xh4i%2CY-uwx8w4xSjEcuYsoGsSGd&phpMyAdmin=d94da8bd43329421f3199a6d36766310&phpMyAdmin=c91fbf4bc017f64a3e9cc52cb49d0d48>";
$title=$tab['subject'];
$title = str_replace("é", "e", $title);
echo htmlspecialchars($title);
echo "</a>&nbsp; posté par";
echo "&nbsp;<span style=\"font-weight:bold;\">";
echo $tab['username'];
echo "</span>";
echo "<br>";
} ?>

Biensur on peut l'optimiser ou lui faire faire afficher juste un forum, à vous de voir.


RE: Script affichage derniers post sur son site - crocxx - 05-11-2006

Merci pour ce script ça peu servir. Wink


RE: Script affichage derniers post sur son site - jacquesco - 23-12-2006

bonjour
une chose m'intrigue dans le code
il faut changer les variables en fonction de son site, sa base de donné, mot de passe de la base, user de la base pour que cela fonctionne
comme faire pour sécuriser le tout ?
il y a une astuce ?


RE: Script affichage derniers post sur son site - jacquesco - 23-12-2006

bonjour
j'ai contourné le probleme en créant un fichier derniermessage.php avec le code que j'ai mis en CMOD 444
ensuite, dans ma page index.php, j'ai inclus le code <?php include("derniermessage.php");?>
et sa fonctionne


RE: Script affichage derniers post sur son site - quarty - 24-12-2006

mumulafrite a écrit :
Code :
<? // Connection
$db = mysql_connect('serveur', 'login', 'mot de pass');

pour sécuriser un peu à mon avis il faudrais plutot un code du genre

Code :
$user = "nom d'user";
$password = "le pass";
$database = "la database";

$db = mysql_connect('$user', '$password', '$database');

ca évite déja de voir le pass et user de la base de donnée


RE: Script affichage derniers post sur son site - mumulafrite - 29-12-2006

Je suis content que des gens avisés fassent évolué ce script.
En effet quarty j'utilise partout ce genre de déclaration de variable mais je ne l'ai pas appliqué à celui ci


RE: Script affichage derniers post sur son site - pollo - 11-06-2007

Bonjour.

Je débute en php, enfin j'ai des bases mais bon !!
Soit...

Si je met ça
Citation :Code :
$user = "nom d'user";
$password = "le pass";
$database = "la database";

$db = mysql_connect('$user', '$password', '$database');

Je met ça en complet, les visiteurs veront tout de même les accès non ?
Et est-ce possible, comme la dit jacquesco, de faire une include et
d'utiliser dans le fichier externe un DIV ?

Pollo


RE: Script affichage derniers post sur son site - tbdarkspirit - 12-06-2007

Bonjour,

N'y aurait-il pas un moyen d'afichier juste une fois le topic au lieu de mettre un lien pour chaque réponse...

Je sais pas si je suis très clair...?

Mais par exemple si 2 personne répondent dans le même topic, avec ce script il y aura deux fois le lien "RE:nom du forum" à la suite... ce qui n'est pas très pratique...

Une solution?

Merci d'avance!


RE: Script affichage derniers post sur son site - Kevin - 01-12-2007

merci pour le code.

PS

$db = mysql_connect('$user', '$password', '$database'); n'est pas valide, c'est plutot :

$db = mysql_connect($user, $password, $database);

bye


RE: Script affichage derniers post sur son site - CrazyCat - 03-12-2007

Ce que je ne comprend pas, c'est pourquoi vous n'utilisez pas les objets de MyBB?
Il serait relativement simple de faire:
Code PHP :
<?
$path2mybb 
'./forum'// Chemin d'accès au forum
$not_shown '18, 50'// Catégories à ne pas afficher
define("IN_MYBB"1);
require_once 
$path2mybb.'/inc/init.php';
$query $db->query("SELECT * FROM ".TABLE_PREFIX."posts WHERE fid NOT IN (".$not_shown.") ORDER BY dateline DESC LIMIT 0 ,10");
while (
$post $db->fetch_array($query)) {
   ...
}
?>



RE: Script affichage derniers post sur son site - Troll - 25-04-2008

Je plussoie CrazyCat sur le fait d'utiliser ce qui est le mieux intégré au moteur.

Par contre ce qui pour ma part me paraît plus qu'étrange, c'est ceci :

Code :
echo "<a href='$page'?phpMyAdmin=Xh4i%2CY-uwx8w4xSjEcuYsoGsSGd&phpMyAdmin=d94da8bd43329421f3199a6d36766310&phpMyAdmin=c91fbf4bc017f64a3e9cc52cb49d0d48>";


Excusez-moi si ça paraît évident à d'autres mais... que viennent faire, en plein milieu d'une balise de lien, des variables relatives à PhpMyAdmin ?!

Pour ma part, j'ai repris un code proposé sur le forum anglais de Mybb (.net) et je l'ai adapté afin qu'il utilise le plugin SEO, je le donne ça pourrait servir à quelqu'un :

Code PHP :
<?php
/* Showing last forum threads
* Using the MyBB SEO Plugin cleaning function
*/
$PATHS['forum'] = "./forum/";
if(!
defined("IN_MYBB")) {
    
define("IN_MYBB"1);
    
chdir($PATHS['forum']);
    require_once(
'./global.php');
    
chdir('../');
}
require_once (
$PATHS['forum']."inc/plugins/seo.php");
$last_threads "";
$not_shown "12, 13, 14";
$lim 10;
 
$query $db->query("SELECT * FROM ".TABLE_PREFIX."threads WHERE fid NOT IN (".$not_shown.") ORDER BY tid DESC LIMIT 0 ,$lim");
    if(
$db->num_rows($query) > 0)
    {
        while(
$row $db->fetch_array($query))
        {
            
$the_url seo_clean_title($row['subject']) . "-t-{$row['tid']}.html";
            
$last_threads .= "<a href=\"{$PATHS['forum']}{$the_url}\">{$row['subject']}</a>\n";
        }
    }
    else
    {
        
$last_threads 'Nothing to display.';
    }
?>

Utilisation :
Code PHP :
<?php
require "./lastthreads.php";
echo 
'<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body>';
echo 
$last_threads;
echo 
'</body></html>';
?>


Note 1 : je considère dans ce bout de code que mybb est dans /forum/ et le script lancé à la racine.
Note 2 : pour le fichier d"'utilisation", penser à spécifier le charset car sinon tous les caractères spéciaux plantent Wink
Note 3 : testé fonctionnel avec MyBB 1.2.12 et le plugin SEO by Spicefuse v1.0 bêta 9



 Utilitaire de traduction fourni par Regentronique