Afficher quelques phrases des dix dernier sujet sur ma page
40 messages
• Page 1 sur 3 • 1, 2, 3
- wythi
- WRInaute discret

- Messages: 140
- Inscription: 20 Sep 2005
Afficher quelques phrases des dix dernier sujet sur ma page
Bonjours a tous...
voila, j'ai trouvé sur ce site les requetes qu'il me falais pour afficher les 10 derniers sujet de mon forum, sa fonctionne bien...
Mais j'aimerais que sa affiche également quelques phrase du premier message.
voici mon code :
Je précise que je suis sous phpbb3
Et donc pour mieux expliquer, j'aimerais que sa affiche en dessous du lien un apperçus du premier message du sujet.
Pouriez-vous m'aider ?
Je précise que je suis nule en php
Grand merci d'avance, wythi.
Ma page d'accueil ici.
Merci.
voila, j'ai trouvé sur ce site les requetes qu'il me falais pour afficher les 10 derniers sujet de mon forum, sa fonctionne bien...
Mais j'aimerais que sa affiche également quelques phrase du premier message.
voici mon code :
- Code: Tout sélectionner
<?php
require_once($dbhost . "config.php");
$dbh = mysql_connect($dbhost, $dbuser, $dbpasswd);
$db_name = mysql_select_db($dbname);
$sql = "SELECT `topic_id`, `topic_title`,`forum_id`,`topic_time`
FROM `phpbb3_topics`
WHERE forum_id='1' AND forum_id != '8'
ORDER BY `topic_id` DESC
LIMIT 0,10";
$r_topics = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_topics)) {
$id = $aff_forums['topic_id'];
$f_id = $aff_forums['forum_id'];
$title = $aff_forums['topic_title'];
$time = $aff_forums['topic_time'];
$time = date("d/m/y", $time);
echo "
<TR>
<TD><center class=Style1 >" . $time . "</center></TD>
<TD><center class=Style1 ><div align=left><a href=\"http://www.psychologie-entre-aide.com/forum/viewtopic.php?t=" . $id . "\">" . $title . "</a><br /></div></center></TD>
</TR>";
}
mysql_close($dbh);
Je précise que je suis sous phpbb3
Et donc pour mieux expliquer, j'aimerais que sa affiche en dessous du lien un apperçus du premier message du sujet.
Pouriez-vous m'aider ?
Je précise que je suis nule en php
Grand merci d'avance, wythi.
Ma page d'accueil ici.
Merci.
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
si tu affiches les dix derniers en triant les enregistrements en DESCendant, tu peux afficher le premier en triant en ASCendant :
- Code: Tout sélectionner
$sql = "SELECT `topic_id`, `topic_title`,`forum_id`,`topic_time`
FROM `phpbb3_topics`
WHERE forum_id='1' AND forum_id != '8'
ORDER BY `topic_id` ASC
LIMIT 0,1";
- wythi
- WRInaute discret

- Messages: 140
- Inscription: 20 Sep 2005
Je pence qu'on ne sais pas compris
en faite avec ces requetes, sa m'affiche juste le titre du sujet sous forme de lien, comme si on entre dans le forum, et qu'on a la liste des sujets mais j'aimerais que sa affiche par exemple :
"ici le titre du sujet sous forme de lien"
"et ici, le premier message de ce même sujet"
Histoir que sur ma page d'accueil, il y ai un apperçus du sujet afficher fin je ne sais pas si je m'explique bien.
wythi.
en faite avec ces requetes, sa m'affiche juste le titre du sujet sous forme de lien, comme si on entre dans le forum, et qu'on a la liste des sujets mais j'aimerais que sa affiche par exemple :
"ici le titre du sujet sous forme de lien"
"et ici, le premier message de ce même sujet"
Histoir que sur ma page d'accueil, il y ai un apperçus du sujet afficher fin je ne sais pas si je m'explique bien.
wythi.
- code
- WRInaute impliqué

- Messages: 648
- Inscription: 29 Juil 2005
bonjour, tu fais une requete de ce style
pour récupérer le texte du premier sujet du topic
Après si tu ne veux afficher que le début du texte, il te suffit de limiter le champ avec quelque chose dans ce style :
$text = substr ("$text", 0,200); >> pour avoir seulement les 200 premiers caractères par exemple
- Code: Tout sélectionner
$rq="SELECT post_text FROM phpbb3_posts WHERE topic_id = '$id' ORDER BY post_id ASC LIMIT 0,1";
pour récupérer le texte du premier sujet du topic
Après si tu ne veux afficher que le début du texte, il te suffit de limiter le champ avec quelque chose dans ce style :
$text = substr ("$text", 0,200); >> pour avoir seulement les 200 premiers caractères par exemple
- wythi
- WRInaute discret

- Messages: 140
- Inscription: 20 Sep 2005
Re bonjours,
j'ai une erreur, voici mon code :
Voici l'erreur que sa m'affiche :
Je vous l'ai dis
je suis null en "php"
Pouvez-vous m'expliquer ou est mon erreur ?
Merci.
j'ai une erreur, voici mon code :
- Code: Tout sélectionner
require_once($dbhost . "config.php");
$dbh = mysql_connect($dbhost, $dbuser, $dbpasswd);
$db_name = mysql_select_db($dbname);
$sql = "SELECT `topic_id`, `topic_title`,`forum_id`,`topic_time`
FROM `phpbb3_topics`
WHERE forum_id='21' AND forum_id != '8'
ORDER BY `topic_id` DESC
LIMIT 0,5";
$sql = "SELECT post_text FROM phpbb3_posts WHERE topic_id = '$id' ORDER BY post_id ASC LIMIT 0,1";
$r_topics = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_topics)) {
$id = $aff_forums['topic_id'];
$f_id = $aff_forums['forum_id'];
$title = $aff_forums['topic_title'];
$time = $aff_forums['topic_time'];
$time = date("d/m/y", $time);
$r_post = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_post)) {
$text = aff_forums['posts_text'];
$text = substr ("$text", 0,200);
echo "
<TR>
<TD><center class=Style1 >" . $time . "</center></TD>
<TD><center class=Style1 ><div align=left><a href=\"http://www.psychologie-entre-aide.com/forum/viewtopic.php?t=" . $id . "\">" . $title . "</a><br /></div></center></TD>
<td>" . $text . "</td>
</TR>";
}
}
mysql_close($dbh);
Voici l'erreur que sa m'affiche :
Parse error: syntax error, unexpected '[' in /home/www/wythi82/www/index.php on line 129
Je vous l'ai dis
Pouvez-vous m'expliquer ou est mon erreur ?
Merci.
-

Djoule_logo - WRInaute impliqué

- Messages: 718
- Inscription: 30 Mai 2007
Pour nous aider, il faudrait que tu nous indique ou est la ligne 129 dan ton code. On ne la vois pa nous ici 
- wythi
- WRInaute discret

- Messages: 140
- Inscription: 20 Sep 2005
Djoule_logo a écrit:Pour nous aider, il faudrait que tu nous indique ou est la ligne 129 dan ton code. On ne la vois pa nous ici
Oups, oui juste pardon
- Code: Tout sélectionner
$text = aff_forums['posts_text'];
-

Djoule_logo - WRInaute impliqué

- Messages: 718
- Inscription: 30 Mai 2007
essayes tout simplement avec ça
$text = $aff_forums['posts_text'];
$text = $aff_forums['posts_text'];
- wythi
- WRInaute discret

- Messages: 140
- Inscription: 20 Sep 2005
Djoule_logo a écrit:essayes tout simplement avec ça
$text = $aff_forums['posts_text'];
Re, j'ai esseyer,
mais sa m'affiche : 01/01/70
forum/viewtopic
Regarde ici :
http://www.psychologie-entre-aide.com
au niveau "les dernières news du forum :"
... pas simple pour moi
-

Djoule_logo - WRInaute impliqué

- Messages: 718
- Inscription: 30 Mai 2007
Déja y'a un truc que je ne comprends pas dans ton code.
Tu enchaines les 2 directement donc ta variable ne prendra que la 2eme valeur et tes requettes ne travaillerons que sur ta table phpbb3_posts.
Renommes tes variables differement ($sql_topic et $sql_post) par exemple.
- Code: Tout sélectionner
$sql = "SELECT `topic_id`, `topic_title`,`forum_id`,`topic_time`
FROM `phpbb3_topics`
WHERE forum_id='21' AND forum_id != '8'
ORDER BY `topic_id` DESC
LIMIT 0,5";
$sql = "SELECT post_text FROM phpbb3_posts WHERE topic_id = '$id' ORDER BY post_id ASC LIMIT 0,1";
Tu enchaines les 2 directement donc ta variable ne prendra que la 2eme valeur et tes requettes ne travaillerons que sur ta table phpbb3_posts.
Renommes tes variables differement ($sql_topic et $sql_post) par exemple.
- code
- WRInaute impliqué

- Messages: 648
- Inscription: 29 Juil 2005
C'est normal :
Ce que tu veux c'est :
- afficher les titres des derniers topics de ton forum
- afficher les textes du premier sujet de chaque topic
>> sachant que les topics et les posts sont dans 2 tables différentes, tu dois effectuer 2 requetes différentes, et la deuxième doit figurer dans la boucle de la première
Or actuellement, tu ne récupères rien du tout pour les textes, car ta requete n'est pas dans la boucle... En effet, tu fais une requete en demanadant de sélectionner le texte des posts dont le numéro de topic est égal à la valeur de "$id", valeur que tu ne connais pas encore car tu n'as pas récupéré les résultats.
Bref, en modifiant ton code comme cela, ça devrait marcher :
require_once($dbhost . "config.php");
$dbh = mysql_connect($dbhost, $dbuser, $dbpasswd);
$db_name = mysql_select_db($dbname);
$sql = "SELECT `topic_id`, `topic_title`,`forum_id`,`topic_time`
FROM `phpbb3_topics`
WHERE forum_id='21' AND forum_id != '8'
ORDER BY `topic_id` DESC
LIMIT 0,5";
$r_topics = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_topics)) {
$id = $aff_forums['topic_id'];
$f_id = $aff_forums['forum_id'];
$title = $aff_forums['topic_title'];
$time = $aff_forums['topic_time'];
$time = date("d/m/y", $time);
$sql_2 = "SELECT post_text FROM phpbb3_posts WHERE topic_id = '$id' ORDER BY post_id ASC LIMIT 0,1";
$r_post = mysql_query($sql_2) or die(mysql_error());
while ($aff_posts = mysql_fetch_array($r_post)) {
$text = $aff_posts['posts_text'];
$text = substr ("$text", 0,200);
} //on ferme la boucle qui récupère le texte du post
echo "
<TR>
<TD><center class=Style1 >" . $time . "</center></TD>
<TD><center class=Style1 ><div align=left><a href=\"http://www.psychologie-entre-aide.com/forum/viewtopic.php?t=" . $id . "\">" . $title . "</a><br /></div></center></TD>
<td>" . $text . "</td>
</TR>";
}//On ferme la boucle qui récupère le topic
mysql_close($dbh);
edit : tu fais aussi des erreurs en appelant tes requetes de la même façon... chaque requete différente doit porter un nom différent
Ce que tu veux c'est :
- afficher les titres des derniers topics de ton forum
- afficher les textes du premier sujet de chaque topic
>> sachant que les topics et les posts sont dans 2 tables différentes, tu dois effectuer 2 requetes différentes, et la deuxième doit figurer dans la boucle de la première
Or actuellement, tu ne récupères rien du tout pour les textes, car ta requete n'est pas dans la boucle... En effet, tu fais une requete en demanadant de sélectionner le texte des posts dont le numéro de topic est égal à la valeur de "$id", valeur que tu ne connais pas encore car tu n'as pas récupéré les résultats.
Bref, en modifiant ton code comme cela, ça devrait marcher :
require_once($dbhost . "config.php");
$dbh = mysql_connect($dbhost, $dbuser, $dbpasswd);
$db_name = mysql_select_db($dbname);
$sql = "SELECT `topic_id`, `topic_title`,`forum_id`,`topic_time`
FROM `phpbb3_topics`
WHERE forum_id='21' AND forum_id != '8'
ORDER BY `topic_id` DESC
LIMIT 0,5";
$r_topics = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_topics)) {
$id = $aff_forums['topic_id'];
$f_id = $aff_forums['forum_id'];
$title = $aff_forums['topic_title'];
$time = $aff_forums['topic_time'];
$time = date("d/m/y", $time);
$sql_2 = "SELECT post_text FROM phpbb3_posts WHERE topic_id = '$id' ORDER BY post_id ASC LIMIT 0,1";
$r_post = mysql_query($sql_2) or die(mysql_error());
while ($aff_posts = mysql_fetch_array($r_post)) {
$text = $aff_posts['posts_text'];
$text = substr ("$text", 0,200);
} //on ferme la boucle qui récupère le texte du post
echo "
<TR>
<TD><center class=Style1 >" . $time . "</center></TD>
<TD><center class=Style1 ><div align=left><a href=\"http://www.psychologie-entre-aide.com/forum/viewtopic.php?t=" . $id . "\">" . $title . "</a><br /></div></center></TD>
<td>" . $text . "</td>
</TR>";
}//On ferme la boucle qui récupère le topic
mysql_close($dbh);
edit : tu fais aussi des erreurs en appelant tes requetes de la même façon... chaque requete différente doit porter un nom différent
Dernière édition par code le Dim Déc 02, 2007 15:59, édité 2 fois.
-

Djoule_logo - WRInaute impliqué

- Messages: 718
- Inscription: 30 Mai 2007
Pas mieux que Code
en n'oubliant pas le
$text = $aff_forums['posts_text'];

en n'oubliant pas le
$text = $aff_forums['posts_text'];
40 messages
• Page 1 sur 3 • 1, 2, 3
Lectures recommandées sur ce thème :
- Avis sur mon dernier délire :) Site de phrases cultes
- Afficher 10 phrases au hasard au lieu d'une seule
- Afficher les dernier message d'un forum PhpBB
- Afficher des adsenses sur un sujet ...
- phrases clés cachées en z-index=-99
- Lien mais pas de phrases
- Empêcher Google d'indexer certaines phrases ?
- Affichage aléatoire de phrases avec liens
- Morceaux de phrases répétés: autorisé ou pas?
- [TITRE] Interêt de faire des phrases plutôt que série mc ?
- Google veut-il dépasser les 20 milliards de pages de Yahoo ? - 09-09-2005
- Description d'une page-type optimisée pour le référencement - 04-08-2008
- Parts de marché des moteurs aux USA en juillet 2008 (comScore) - 22-08-2008
- Parts de marché des moteurs en France (Novembre 2008) - 10-12-2008
- Parts de marché des moteurs en France (Décembre 2008) - 12-01-2009
- Tous les raccourcis-clavier de Google Chrome (shortcuts) - 05-09-2008
- Articles sur Google et le référencement - 22-11-2002
- Google AdSense en test sur WebRankInfo - 26-11-2003
Consultez la description détaillée des produits ou services de Google suivants : Google Book Search, Gmail Notifier
- Touch Graph Google Browser
Description du TouchGraph Google Browser (outil externe) : il s'agit d'un outil graphique permettant de visualiser des sites similaires (selon Google). On peut sauter de site en site, et se rendre compte facilement des communautés de sites, ou des nébuleuses de sites traitant du même sujet.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
