[Script]Afficher les 7 derniers posts d'un fo
JooS
Messages postés
2705
Statut
Membre
-
Smoking bird Messages postés 911 Statut Membre -
Smoking bird Messages postés 911 Statut Membre -
Bonsoir, je suis en train de créer un script a fin d'afficher les derniers postes d'un forum phpBB, j'ai chercher des scripts prêts mais il y en a pas, donc j'ai décider de le faire seul...
alors, je me suis assez débrouillé coté php, mais je suis bloqué dans le sql, je sais que je dois faire une requête, mais comment préciser que je veut les 7 derniers postes du forum??
et dites moi si c'est a peut prés ça...
Merci...
alors, je me suis assez débrouillé coté php, mais je suis bloqué dans le sql, je sais que je dois faire une requête, mais comment préciser que je veut les 7 derniers postes du forum??
et dites moi si c'est a peut prés ça...
SELECT * FROM `phpbb_posts` ...Précision sur la demande des 7 derniers messages...
Merci...
A voir également:
- [Script]Afficher les 7 derniers posts d'un fo
- Photofiltre 7 - Télécharger - Retouche d'image
- Clé windows 7 - Guide
- Delphi 7 - Télécharger - Langages
- Script vidéo youtube - Guide
- Télécharger 7-zip - Télécharger - Compression & Décompression
5 réponses
select * from phpbb_posts order by id desc limit 7
order by indique à partir de quelle donnée on va ordonner tes résultats, ça peut être numérique ou alphabétique
desc signifie descendant et asc signifie ascendant
limit est un paramètre indiquant le nombre d'enregistrements que tu veux, en l'occurence, 7
re, l'étoile * veut dire tout le champ, non?!, parcontre moi je veut afficher que les titres des topics et en tant que liens
l'étoile signifie en effet tous les champs, bien entendu on recommande fortement d'éviter de l'utiliser^^ mais je ne connais pas la construction de ta table^^
desc, mais c'est en suivant quoi, le temp??
Non, c'est en suivant la colonne spécifiée dans le order by, là c'est order by id, donc chronologiquement, mais pas en fonction des dates précises, juste en fonction de l'ordre d'enregistrement^^
donc ça donnerai ça
$reponse = mysql_query("SELECT nom,id FROM phpbb_posts order by id desc LIMIT 0, 30");
là tu récupère les 30 derniers enregistrements^^
l'étoile signifie en effet tous les champs, bien entendu on recommande fortement d'éviter de l'utiliser^^ mais je ne connais pas la construction de ta table^^
desc, mais c'est en suivant quoi, le temp??
Non, c'est en suivant la colonne spécifiée dans le order by, là c'est order by id, donc chronologiquement, mais pas en fonction des dates précises, juste en fonction de l'ordre d'enregistrement^^
donc ça donnerai ça
$reponse = mysql_query("SELECT nom,id FROM phpbb_posts order by id desc LIMIT 0, 30");
là tu récupère les 30 derniers enregistrements^^
oupps désolé, je l'ai modifier en retard ^^
ben je suis en train d'essayer en localhost, alors regarde tout le script, et dit moi si il manque quelque chose car ça marche toujours pas...
je pense que a la place de l'étoile * je dois mettre post_subject
mais je crois que ceci n'afficherai que du texte ???!!!!
si je changé order by id par order by post_time, est ce que c'est juste???
Merci...
ben je suis en train d'essayer en localhost, alors regarde tout le script, et dit moi si il manque quelque chose car ça marche toujours pas...
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("phpbb");
$reponse = mysql_query("SELECT * FROM phpbb_posts order by id desc LIMIT 0, 7");
while ($donnees = mysql_fetch_array($reponse) )
{
echo $donnees['*'];
mysql_close();
?>
je pense que a la place de l'étoile * je dois mettre post_subject
mais je crois que ceci n'afficherai que du texte ???!!!!
si je changé order by id par order by post_time, est ce que c'est juste???
Merci...
while ($donnees = mysql_fetch_array($reponse) )
{
echo $donnees['*'];//on ne fait JAMAIS de $donnees['*'], c'est une erreur monumentale, et d'ailleurs elle est même bloquée, parce qu'il s'agit d'une faille de sécurité. De plus, ton navigateur ne saurait pas où et quoi afficher, ni comment. Tu dois dire quel champ précis tu affiches:
echo $donnees['id'];//affichera donc l'id
}//n'oublis pas de fermer tes while
mysql_close();/ /fermer la connexion sql dans un while fait que tu n'auras qu'un seul résultat, puis plus rien venant de ta bdd où que ce soit après
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir, ^^, je viens de trouver et de rédiger un script assez simpa qui permet d'afficher les dernier posts, mais...ce derniers ne s'intègre pas a mes pages web, qui veut dire que rien ne s'affiche comme ici, pour qu'il fonctionne il faut que je l'intègre dans une page vierge comme ceci...
pourquoi, et que dois je faire pour qu'il s'integre dans mes pages web????
merci...
pourquoi, et que dois je faire pour qu'il s'integre dans mes pages web????
<?php
define('IN_PHPBB', TRUE);
$phpbb_root_path = 'Forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$user->setup('');
$sql = 'SELECT p.*, t.*, u.user_id, u.username FROM ' . POSTS_TABLE . ' p JOIN ' . TOPICS_TABLE . ' t JOIN ' . USERS_TABLE . ' u
ON p.topic_id = t.topic_id
AND u.user_id = p.poster_id
ORDER BY p.post_id DESC LIMIT 12';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
echo 'Sujet: <a href="'.append_sid($phpbb_root_path . 'viewtopic.php?t=' . $row['topic_id']).'" target="_blank" >' . $row['topic_title'] . "</a><br />";
}
?>
merci...