Communauté Informatique NDFR.net : Systeme de news avec le phpbb - Page 2 - Programmation Web (HTML, PHP, ASP, Java, XML, etc.)
Reply
Systeme de news avec le phpbb
Thread Tools Display Modes
  #16  
Old 17-10-2004, 21:41
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
voila, comme promis je te donne mon code que j'ai fais a l'époque

PHP Code:
// take the last topic in the news room -> id = 2                
$sql_get_news mysql_query("SELECT * FROM mov_topics WHERE forum_id = 2 ORDER BY topic_time DESC LIMIT 1");
$get_news mysql_fetch_array($sql_get_news);
                    
// get the nr of replies
$sql_get_replies mysql_query("SELECT topic_replies FROM mov_topics WHERE topic_id = ".$get_news['topic_id']);
$get_replies mysql_fetch_array($sql_get_replies);
                    
// get to poster who made the topic
$sql_get_poster mysql_query("SELECT username FROM mov_users WHERE "$get_news['topic_poster'] ." = user_id");
$get_poster mysql_fetch_array($sql_get_poster);
                    
// get to body of the topic
$sql_get_body mysql_query("SELECT * 
                    FROM     mov_posts, 
                        mov_posts_text 
                    WHERE 
                        mov_posts.topic_id = "
$get_news['topic_id'] ."
                    AND
                        mov_posts.poster_id = "
$get_news['topic_poster'] ."
                    AND
                        mov_posts_text.post_id = mov_posts.post_id
                    ORDER BY 
                        mov_posts.topic_id ASC LIMIT 10"
);
$get_body mysql_fetch_array($sql_get_body); 
il faudra naturellement changer les paramettres en fonction de ta config.
Reply With Quote
  #17  
Old 17-10-2004, 22:56
Jackydown's Avatar
Jackydown Jackydown is offline
Membre NDFR
 
Join Date: 12-03-2003
Location: à l'Ouest
Age: 42
Posts: 923
Send a message via MSN to Jackydown
Merci Magi-X, mais j'ai regardé je capte vraiment que dale, je vois aucun rapport avec ce que je peux avoir dans ma bd, je ne vois pas quoi changer.
Est ce que quelqu'un pourrait me dire quelle requete je devrai faire pour amener sur une page un texte qui se trouve dans ma base de donnée ?
__________________

Last edited by Jackydown; 17-10-2004 at 23:30.
Reply With Quote
  #18  
Old 18-10-2004, 11:17
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
Hum me suis tromper de code, car ce code permet d'afficher aussi le contenu du du news ... mais j'ai quand meme mit lexplication comme ca tu comprend, mais pour afficher les 10 derniers "titre" regarde le 2ieme code, tu vera il est plus court

Eh ben avec ceci il affiche les 10 dernier topics du salon nr 2 (qui etait chez moi les news) Et pourquoi je fais tout ce chemin, et bien parce que phpbb utilise 3 tables pour stocker ses donnés.

(Avec contenu donc)
PHP Code:
// 1. mov_topics -> regarde dans la base de donnée, car avec phpbb on peu utilise ce qu'on souhaitecomme prefix, donc il est fort probable qu'il y ai ecrit phpbb_topics (standart si je me souvien bien)
// 2. le forum_id c'est le id du salon ... il faudra donc changer celui la du salon que tu souhaite afficher les topics                
$sql_get_news mysql_query("SELECT * FROM mov_topics WHERE forum_id = 2 ORDER BY topic_time DESC LIMIT 1"); 
$get_news mysql_fetch_array($sql_get_news); 
                     
// Ici il suffit juste de changer le mov_topics pour ton prefix comme si dessus 
$sql_get_replies mysql_query("SELECT topic_replies FROM mov_topics WHERE topic_id = ".$get_news['topic_id']); 
$get_replies mysql_fetch_array($sql_get_replies); 

                     
// Pareil ici, changer le prefix 
$sql_get_poster mysql_query("SELECT username FROM mov_users WHERE "$get_news['topic_poster'] ." = user_id"); 
$get_poster mysql_fetch_array($sql_get_poster); 
                     
// toujours pareil changer les prefix 
$sql_get_body mysql_query("SELECT * 
                    FROM     mov_posts, 
                        mov_posts_text 
                    WHERE 
                        mov_posts.topic_id = "
$get_news['topic_id'] .
                    AND 
                        mov_posts.poster_id = "
$get_news['topic_poster'] .
                    AND 
                        mov_posts_text.post_id = mov_posts.post_id 
                    ORDER BY 
                        mov_posts.topic_id ASC LIMIT 10"
); 
while (
$get_body mysql_fetch_array($sql_get_body)) { ... } 
Sans Contenu
PHP Code:
// changer le prefix et le id du salon
$sql_get_news_next mysql_query("SELECT * FROM mov_topics WHERE forum_id = 2 ORDER BY topic_time DESC LIMIT 1,5");
                            
while (
$get_news_next mysql_fetch_array($sql_get_news_next)){

    echo 
$get_news_next['topic_title'];

Donc voila il te suffit juste de regarder dans la base de donne de c'es quelque petite chose décrite plus haut, et ça fonctionnera
Reply With Quote
  #19  
Old 18-10-2004, 11:41
Jackydown's Avatar
Jackydown Jackydown is offline
Membre NDFR
 
Join Date: 12-03-2003
Location: à l'Ouest
Age: 42
Posts: 923
Send a message via MSN to Jackydown
Merci, super sympa, j'essaye.

Edit :
Ben j'ai fait ça (au passage je sais même pas s'il faut mettre le truc de connexion à la bd mais je suppose que oui).

PHP Code:
<?php 
 $mysql_host 
""//Le host du serveur 
        
$mysql_login ""//le login ou l'username du serveur 
        
$mysql_pass ""//le mot de pass du serveur 
        
$db_name ""//Le nom de votre base de donnée 
        
        
$db_link = @mysql_connect($mysql_host,$mysql_login,$mysql_pass); 
        if(!
$db_link) { 
                 echo 
"Connexion impossible à la base de données"
            } 

        
$db_selected mysql_select_db($db_name,$db_link); 
        if (!
$db_selected) { 
                         die (
'Impossible d\'utiliser la base : ' mysql_error());



        
// 1. mov_topics -> regarde dans la base de donnée, car avec phpbb on peu utilise ce qu'on souhaitecomme prefix, donc il est fort probable qu'il y ai ecrit phpbb_topics (standart si je me souvien bien) 
// 2. le forum_id c'est le id du salon ... il faudra donc changer celui la du salon que tu souhaite afficher les topics                 
$sql_get_news mysql_query("SELECT * FROM phpbb_topics WHERE forum_id = 2 ORDER BY topic_time DESC LIMIT 1"); 
$get_news mysql_fetch_array($sql_get_news); 
                      
// Ici il suffit juste de changer le mov_topics pour ton prefix comme si dessus 
$sql_get_replies mysql_query("SELECT topic_replies FROM phpbb_topics WHERE topic_id = ".$get_news['topic_id']); 
$get_replies mysql_fetch_array($sql_get_replies); 

                      
// Pareil ici, changer le prefix 
$sql_get_poster mysql_query("SELECT username FROM phpbb_users WHERE "$get_news['topic_poster'] ." = user_id"); 
$get_poster mysql_fetch_array($sql_get_poster); 
                      
// toujours pareil changer les prefix 
$sql_get_body mysql_query("SELECT * 
                    FROM     phpbb_posts, 
                        phpbb_posts_text 
                    WHERE 
                        phpbb_posts.topic_id = "
$get_news['topic_id'] .
                    AND 
                        phpbb_posts.poster_id = "
$get_news['topic_poster'] .
                    AND 
                        phpbb_posts_text.post_id = phpbb_posts.post_id 
                    ORDER BY 
                        phpbb_posts.topic_id ASC LIMIT 10"
); 
while (
$get_body mysql_fetch_array($sql_get_body)) { ... } 
 
        
?>
Je sais pas si les ... de la derniere ligne veulent dire s'il faut continuer à mettre des trucs ou si c'est la fin.
En tout cas j'ai une erreur à cette ligne
PHP Code:
while ($get_body mysql_fetch_array($sql_get_body)) { ... } 
Parse error: parse error, unexpected '.' in c:\program files\easyphp\www\karate\index\index.php on line 74
__________________

Last edited by Jackydown; 18-10-2004 at 12:44.
Reply With Quote
  #20  
Old 18-10-2004, 18:15
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
ah oui a la place des ... il faut mettre du code

donc par exemple:

echo $get_body['post_text'];
Reply With Quote
  #21  
Old 18-10-2004, 18:47
Jackydown's Avatar
Jackydown Jackydown is offline
Membre NDFR
 
Join Date: 12-03-2003
Location: à l'Ouest
Age: 42
Posts: 923
Send a message via MSN to Jackydown
Bon j'ai remplacé les ... par ce que tu as dit, et maintenant l'erreur est à la ligne 95, autrement dit la derniere ligne, où il y a juste la balise </html>
-> Parse error: parse error, unexpected $ in c:\program files\easyphp\www\karate\index\index.php on line 95
Pourtant ça vient forcément de ce script puisque je suis sur qu'il n'y a aucune autre erreur sur ma page.
Décidemment ça me soule
__________________
Reply With Quote
  #22  
Old 18-10-2004, 22:24
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
tu peux une fois donner tout le code, ce serait beaucoup plus simple
Reply With Quote
  #23  
Old 18-10-2004, 22:34
Jackydown's Avatar
Jackydown Jackydown is offline
Membre NDFR
 
Join Date: 12-03-2003
Location: à l'Ouest
Age: 42
Posts: 923
Send a message via MSN to Jackydown
PHP Code:
<?php 
$mysql_host 
""//Le host du serveur 
        
$mysql_login ""//le login ou l'username du serveur 
        
$mysql_pass ""//le mot de pass du serveur 
        
$db_name ""//Le nom de votre base de donnée 
         
        
$db_link = @mysql_connect($mysql_host,$mysql_login,$mysql_pass); 
        if(!
$db_link) { 
                 echo 
"Connexion impossible à la base de données"
            } 

        
$db_selected mysql_select_db($db_name,$db_link); 
        if (!
$db_selected) { 
                         die (
'Impossible d\'utiliser la base : ' mysql_error()); 



        
// 1. mov_topics -> regarde dans la base de donnée, car avec phpbb on peu utilise ce qu'on souhaitecomme prefix, donc il est fort probable qu'il y ai ecrit phpbb_topics (standart si je me souvien bien) 
// 2. le forum_id c'est le id du salon ... il faudra donc changer celui la du salon que tu souhaite afficher les topics                  
$sql_get_news mysql_query("SELECT * FROM phpbb_topics WHERE forum_id = 2 ORDER BY topic_time DESC LIMIT 1"); 
$get_news mysql_fetch_array($sql_get_news); 
                       
// Ici il suffit juste de changer le mov_topics pour ton prefix comme si dessus 
$sql_get_replies mysql_query("SELECT topic_replies FROM phpbb_topics WHERE topic_id = ".$get_news['topic_id']); 
$get_replies mysql_fetch_array($sql_get_replies); 

                       
// Pareil ici, changer le prefix 
$sql_get_poster mysql_query("SELECT username FROM phpbb_users WHERE "$get_news['topic_poster'] ." = user_id"); 
$get_poster mysql_fetch_array($sql_get_poster); 
                       
// toujours pareil changer les prefix 
$sql_get_body mysql_query("SELECT * 
                    FROM     phpbb_posts, 
                        phpbb_posts_text 
                    WHERE 
                        phpbb_posts.topic_id = "
$get_news['topic_id'] .
                    AND 
                        phpbb_posts.poster_id = "
$get_news['topic_poster'] .
                    AND 
                        phpbb_posts_text.post_id = phpbb_posts.post_id 
                    ORDER BY 
                        phpbb_posts.topic_id ASC LIMIT 10"
); 
while (
$get_body mysql_fetch_array($sql_get_body)) { echo $get_body['post_text']; } 

        
?>
à moins qu'il ne faille pas les {} pour la fin ?
__________________
Reply With Quote
  #24  
Old 19-10-2004, 10:55
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
PHP Code:
$mysql_host ""//Le host du serveur 
        
$mysql_login ""//le login ou l'username du serveur 
        
$mysql_pass ""//le mot de pass du serveur 
        
$db_name ""//Le nom de votre base de donnée 
          
        
$db_link = @mysql_connect($mysql_host,$mysql_login,$mysql_pass); 
        if(!
$db_link) { 
                 echo 
"Connexion impossible à la base de données"
            } 

        
$db_selected mysql_select_db($db_name,$db_link); 
        if (!
$db_selected) { 
                         die (
'Impossible d\'utiliser la base : ' mysql_error()); }



        
// 1. mov_topics -> regarde dans la base de donnée, car avec phpbb on peu utilise ce qu'on souhaitecomme prefix, donc il est fort probable qu'il y ai ecrit phpbb_topics (standart si je me souvien bien) 
// 2. le forum_id c'est le id du salon ... il faudra donc changer celui la du salon que tu souhaite afficher les topics                   
$sql_get_news mysql_query("SELECT * FROM phpbb_topics WHERE forum_id = 2 ORDER BY topic_time DESC LIMIT 1"); 
$get_news mysql_fetch_array($sql_get_news); 
                        
// Ici il suffit juste de changer le mov_topics pour ton prefix comme si dessus 
$sql_get_replies mysql_query("SELECT topic_replies FROM phpbb_topics WHERE topic_id = ".$get_news['topic_id']); 
$get_replies mysql_fetch_array($sql_get_replies); 

                        
// Pareil ici, changer le prefix 
$sql_get_poster mysql_query("SELECT username FROM phpbb_users WHERE "$get_news['topic_poster'] ." = user_id"); 
$get_poster mysql_fetch_array($sql_get_poster); 
                        
// toujours pareil changer les prefix 
$sql_get_body mysql_query("SELECT * 
                    FROM     phpbb_posts, 
                        phpbb_posts_text 
                    WHERE 
                        phpbb_posts.topic_id = "
$get_news['topic_id'] .
                    AND 
                        phpbb_posts.poster_id = "
$get_news['topic_poster'] .
                    AND 
                        phpbb_posts_text.post_id = phpbb_posts.post_id 
                    ORDER BY 
                        phpbb_posts.topic_id ASC LIMIT 10"
); 
while (
$get_body mysql_fetch_array($sql_get_body)) { echo $get_body['post_text']; } 
essaye ca une fois
Reply With Quote
  #25  
Old 19-10-2004, 11:06
Jackydown's Avatar
Jackydown Jackydown is offline
Membre NDFR
 
Join Date: 12-03-2003
Location: à l'Ouest
Age: 42
Posts: 923
Send a message via MSN to Jackydown
J'ai pas d'erreur avec ce code, mais il apparait seulement le texte du dernier post.
__________________
Reply With Quote
  #26  
Old 19-10-2004, 17:24
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
Quote:
Originally Posted by Jackydown
J'ai pas d'erreur avec ce code, mais il apparait seulement le texte du dernier post.
logique enfaite car c'est ce que je dis dans les commande sql .. mais je t'ai donné un autre code ou il affiche les 10 dernier topic ...

PHP Code:
// changer le prefix et le id du salon 
$sql_get_news_next mysql_query("SELECT * FROM mov_topics WHERE forum_id = 2 ORDER BY topic_time DESC LIMIT 10"); 
                             
while (
$get_news_next mysql_fetch_array($sql_get_news_next)){ 

    echo 
$get_news_next['topic_title']; 

Reply With Quote
  #27  
Old 19-10-2004, 18:59
Jackydown's Avatar
Jackydown Jackydown is offline
Membre NDFR
 
Join Date: 12-03-2003
Location: à l'Ouest
Age: 42
Posts: 923
Send a message via MSN to Jackydown
ça à l'air de marcher. Merci.
Seulement comment faire pour que chaque posts soient séparés, parce que la tout est ecrit sur une seule ligne. Y aurait il moyen par ex de les inserer dans des cadres ?
__________________
Reply With Quote
  #28  
Old 19-10-2004, 19:07
Samva's Avatar
Samva Samva is offline
Niaisüre within
 
Join Date: 24-04-2003
Location: Tours
Age: 39
Posts: 2,320
Send a message via ICQ to Samva Send a message via MSN to Samva
Ben autour du echo qui fait afficher le texte tu fais faire un ptit truc pour la mise en page
__________________
For the End-of-the-World spell, press "Ctrl, Alt, Delete."


Reply With Quote
  #29  
Old 19-10-2004, 20:31
Jackydown's Avatar
Jackydown Jackydown is offline
Membre NDFR
 
Join Date: 12-03-2003
Location: à l'Ouest
Age: 42
Posts: 923
Send a message via MSN to Jackydown
Et apres tous ces posts, samva qui arrive et qui a pas encore compris que j'avais trop de mal avec le php.
En terme de post inutile on peut pas faire pire.
Si quelqu'un peut m'expliquer comment faire, ça serait sympa.
__________________
Reply With Quote
  #30  
Old 19-10-2004, 20:32
fonji fonji is offline
Membre senior
 
Join Date: 01-07-2003
Age: 38
Posts: 1,627
Quote:
Originally Posted by Jackydown
Et apres tous ces posts, samva qui arrive et qui a pas encore compris que j'avais trop de mal avec le php.
En terme de post inutile on peut pas faire pire.
Si quelqu'un peut m'expliquer comment faire, ça serait sympa.
Heu là ça touche pratiquement plus php mais du html, et si tu sais pas en faire et que tu veux te faire un forum je te conseille fortement de mater (au moins) un tuto quoi...
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Cours de français Benjy Discussions sur le site et/ou le forum 47 01-05-2006 14:47
Présentation de Windows Longhorn Build 4051 (PDC03) Werner Articles 155 22-12-2005 00:29
Premiers pas sous Linux Fred Articles 19 21-10-2003 05:46
Restauration du système avec un ghost ! Mala Windows NT4/2000/XP Client 4 09-03-2003 17:15
Paramétrer et configurer les services de Windows XP Werner Articles 0 16-10-2002 19:07

All times are GMT +2. The time now is 22:51.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.