Lista senaste inläggen från phpBB

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2, 3, 4  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
haddock



Medlem i: 5905 dagar
Från: :nårF
Status: Offline



#43218
Inlägg Skrivet: 2003-05-18 03:44      Ämne: Lista senaste inläggen från phpBB Citera

Skrev detta i en annan tråd, tänkte det kan passa i denna kategori också.

För att (tex på din förstasida) lista de X senaste foruminläggen i ditt phpBB-forum kan du använda detta:

PHP:
1:
 
2:
<?php
3:
$sql_posts=mysql_query("SELECT forum_posts_text.post_id, forum_users.username, forum_posts_text.post_subject, forum_posts_text.post_text
4:
FROM databas.forum_posts, databas.forum_posts_text, databas.forum_users
5:
where forum_posts.post_id = forum_posts_text.post_id
6:
and forum_posts.poster_id = forum_users.user_id
7:
and forum_posts.forum_id != 3
8:
ORDER BY forum_posts.post_id
9:
desc
10:
LIMIT 0, 3"); //eller så många inlägg du vill att den skall lista
11:
 
12:
//raden "and forum_posts.forum_id != 3" listar inte inlägg i "hemliga/privata forum", i detta fall forum id 3
13:
 
14:
echo ("<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>");
15:
while ($posts=mysql_fetch_array($sql_posts)) {
16:
 
17:
    echo ("<b>* </b><a target=\"_blank\" title=\"".substr($posts["post_text"],0,255)."\" href=\"http://forum-URL/viewtopic.php?p=".$posts["post_id"]."#".$posts["post_id"]."\">"); // raden title=\"".substr($posts["post_text"],0,255)."\" gör att foruminläggets innehåll visas vid mouseover (sådär tufft som bl.a. på phpportalens sidor). 0,255 gör att den visar 256 tecken från inlägget
18:
    if (!$posts["post_subject"]) {
19:
        echo ("RE: "); //om det ej finns någon rubrik på inlägget, skriv då ut "RE: "
20:
    } else {
21:
        echo $posts["post_subject"];
22:
    }
23:
    echo ("</a><br>");
24:
    echo ("<font size=\"1\">(Av: ".$posts["username"].")</font><br>");
25:
}
26:
echo ("</td></tr></table>");
27:
?>


Edit: OBS! raden "and forum_posts.forum_id != 3" är till för om du vill exkludera ett forum från visning! ta bort denna rad om du inte behöver den, ser många som ignorerat det.

För övrigt är skriptet gammalt och fult skrivet. Har ett bättre och mer funktionellt på lager som kanske borde åka upp istället.

Senast ändrad av haddock den 2005-03-27 19:34, ändrad totalt 1 gång
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Jacob



Medlem i: 5820 dagar
Från: Göteborgish --> Lerum
Status: Offline



#43318
Inlägg Skrivet: 2003-05-18 13:41      Ämne: Citera

okej
 

_________________
HELLÖ RÖMAN!
(Notera att jag går mot strömmen och behåller min Jul-avatar!)
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
sahle



Medlem i: 5725 dagar
Från: Trollhättan
Status: Offline



#43999
Inlägg Skrivet: 2003-05-20 07:24      Ämne: Citera

Vad ska man ändra i koden för att den ska hitta databasen?

KOD:
1:
<?php
2:
$sql_posts=mysql_query("SELECT forum_posts_text.post_id, forum_users.username, forum_posts_text.post_subject, forum_posts_text.post_text
3:
FROM databas.forum_posts, databas.forum_posts_text, databas.forum_users
4:
where forum_posts.post_id = forum_posts_text.post_id
5:
and forum_posts.poster_id = forum_users.user_id
6:
and forum_posts.forum_id != 3
7:
ORDER BY forum_posts.post_id
8:
desc
9:
 


Där det står (databas.forum_posts,) osv vad ska man skriva där.

Ska man skriva : (localhost, anvnamn, lösen) till databasen? eller var ska man skriva detta.

Är det något mer man ska ändra. Wink
 

_________________
Frågar man inget får man inget veta...

Man kan ställa en fråga och verka dum i fem sekunder, eller så kan man strunta i att fråga, och vara dum resten av livet...
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Lavve



Medlem i: 6142 dagar
Från: 127.0.0.1
Status: Offline



#44000
Inlägg Skrivet: 2003-05-20 07:35      Ämne: Citera

Välkommen till PHPportalen, sahle!

Vad du först måste göra är att connecta till databasen och välja vilken databas du vill använda dig av. I hela taget skriver du så här:
PHP:
1:
<?php 
2:
$connect mysql_connect("localhost""username""password") or die("Can't connect to db");
3:
$database mysql_select_db("databasen") or die("Can't select db");
4:
 
5:
$sql_posts=mysql_query("SELECT forum_posts_text.post_id, forum_users.username, forum_posts_text.post_subject, forum_posts_text.post_text 
6:
FROM databas.forum_posts, databas.forum_posts_text, databas.forum_users 
7:
where forum_posts.post_id = forum_posts_text.post_id 
8:
and forum_posts.poster_id = forum_users.user_id 
9:
and forum_posts.forum_id != 3 
10:
ORDER BY forum_posts.post_id 
11:
desc 
12:
LIMIT 0, 3"); //eller så många inlägg du vill att den skall lista 
13:
 
14:
//raden "and forum_posts.forum_id != 3" listar inte inlägg i "hemliga/privata forum", i detta fall forum id 3 
15:
 
16:
echo ("<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"); 
17:
while ($posts=mysql_fetch_array($sql_posts)) { 
18:
 
19:
    echo ("<b>* </b><a target=\"_blank\" title=\"".substr($posts["post_text"],0,255)."\" href=\"http://forum-URL/viewtopic.php?p=".$posts["post_id"]."#".$posts["post_id"]."\">"); // raden title=\"".substr($posts["post_text"],0,255)."\" gör att foruminläggets innehåll visas vid mouseover (sådär tufft som bl.a. på phpportalens sidor). 0,255 gör att den visar 256 tecken från inlägget 
20:
    if (!$posts["post_subject"]) { 
21:
        echo ("RE: "); //om det ej finns någon rubrik på inlägget, skriv då ut "RE: " 
22:
    } else { 
23:
        echo $posts["post_subject"]; 
24:
    } 
25:
    echo ("</a><br>"); 
26:
    echo ("<font size=\"1\">(Av: ".$posts["username"].")</font><br>"); 
27:
28:
echo ("</td></tr></table>"); 
29:
?> 
 

_________________
- "Sometimes you make the right decision, sometimes you make the decision right."
/Dr. Phil
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
haddock



Medlem i: 5905 dagar
Från: :nårF
Status: Offline



#44330
Inlägg Skrivet: 2003-05-20 19:09      Ämne: Citera

Precis, du måste connecta innan som Lavve skriver.

Sen måste fu byta ut "forum_"-prefixet (tex. databas.forum_posts) mot det som mostvarar din phpBBkonfiguration (när du installerar phpBB så får du välja vilket databasprefix du vill ha. Tror det är "phpbb_" som standard - och i sådana fall ändrar du alla "forum_" till "phpbb_")

Lycka till!

/haddock
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
samme



Medlem i: 6138 dagar
Från: Stockholm
Status: Offline



#44402
Inlägg Skrivet: 2003-05-20 20:31      Ämne: Citera

En variant är att inkludera constants.php (ligger i mappen includes) och använda de konstanter där tabellnamnen är lagrade. Iofs måste du ändra i sql-satsen ovan ändå, men då blir den oberoende av tabellprefixen i fortsättningen.

Alltså, istället för
KOD:
1:
"SELECT p.post_id ... FROM phpbb_posts p ..."
skriver du
KOD:
1:
"SELECT p.post_id ... FROM " . POSTS_TABLE . " p ..."
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
sahle



Medlem i: 5725 dagar
Från: Trollhättan
Status: Offline



#44509
Inlägg Skrivet: 2003-05-20 23:22      Ämne: Citera

Laughing Tack för hjälpen.

Jag gjorde så här:
mitt databas namn: bujinkantrollha

resten av koden:
KOD:
1:
<?php 
2:
$connect = mysql_connect("localhost", "bujinkantrollha", "xxxxxxxx") or die("Can't connect to db");
3:
$database = mysql_select_db("bujinkantrollha") or die("Can't select db");
4:
 
5:
$sql_posts=mysql_query("SELECT phpbb_posts_text.post_id, phpbb_users.username, phpbb_posts_text.post_subject, phpbb_posts_text.post_text
6:
FROM bujinkantrollha.phpbb_posts, bujinkantrollha.phpbb_posts_text, bujinkantrollha.phpbb_users
7:
where phpbb_posts.post_id = phpbb_posts_text.post_id
8:
and phpbb_posts.poster_id = phpbb_users.user_id
9:
and phpbb_posts.forum_id != 3
10:
ORDER BY phpbb_posts.post_id
11:
desc
12:
LIMIT 0, 3"); //eller så många inlägg du vill att den skall lista
13:
 
14:
//raden "and forum_posts.forum_id != 3" listar inte inlägg i "hemliga/privata forum", i detta fall forum id 3
15:
 
16:
echo ("<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"); 
17:
while ($posts=mysql_fetch_array($sql_posts)) { 
18:
 
19:
    echo ("<b>* </b><a target=\"_blank\" title=\"".substr($posts["post_text"],0,255)."\" href=\"http://scripts/phpBB2/viewtopic.php?p=".$posts["post_id"]."#".$posts["post_id"]."\">"); // raden title=\"".substr($posts["post_text"],0,255)."\" gör att foruminläggets innehåll visas vid mouseover (sådär tufft som bl.a. på phpportalens sidor). 0,255 gör att den visar 256 tecken från inlägget
20:
    if (!$posts["post_subject"]) { 
21:
        echo ("RE: "); //om det ej finns någon rubrik på inlägget, skriv då ut "RE: "
22:
    } else { 
23:
        echo $posts["post_subject"]; 
24:
    } 
25:
    echo ("</a><br>"); 
26:
    echo ("<font size=\"1\">(Av: ".$posts["username"].")</font><br>"); 
27:
28:
echo ("</td></tr></table>"); 
29:
?>


Nu fungerar det för mig.
 

_________________
Frågar man inget får man inget veta...

Man kan ställa en fråga och verka dum i fem sekunder, eller så kan man strunta i att fråga, och vara dum resten av livet...
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
sahle



Medlem i: 5725 dagar
Från: Trollhättan
Status: Offline



#44516
Inlägg Skrivet: 2003-05-20 23:37      Ämne: Citera

Jag fick ändra denna raden för det fungerade inte när man klickade på länken utan en fullständig url Wink

KOD:
1:
    echo ("<b>* </b><a target=\"_blank\" title=\"".substr($posts["post_text"],0,255)."\" href=\"http://www.bujinkantrollhattan.com/scripts/phpBB2/viewtopic.php?
Rolling Eyes
 

_________________
Frågar man inget får man inget veta...

Man kan ställa en fråga och verka dum i fem sekunder, eller så kan man strunta i att fråga, och vara dum resten av livet...
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
haddock



Medlem i: 5905 dagar
Från: :nårF
Status: Offline



#44877
Inlägg Skrivet: 2003-05-21 22:18      Ämne: Citera

Det funkade inte för att du hade "http://scripts/phpBB/" först, tar du bort "http://" funkar det.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
David N



Medlem i: 5859 dagar
Från: Umeå
Status: Offline



#46531
Inlägg Skrivet: 2003-05-28 17:08      Ämne: Citera

Detta ser ju fint ut... en grej jag undrar över dock... jag skulle hellre vilja ha så att den visade de 10 senast aktiva trådarna... alltså, om 2 nya inlägg har skrivits i en tråd så ska den bara länka till det ena och länken ska länkas ner på sidan till det inlägg som skrivits. Kan någon göra dessa modifikationer?
 

_________________
// MVH David Nilsson
// Ledare för BFCentral Sverige
// http://www.BFCentral.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger ICQ-nummer
Nemesis



Medlem i: 5926 dagar
Från: Karlstad
Status: Offline



#47094
Inlägg Skrivet: 2003-05-31 19:26      Ämne: Citera

Mycket bra script må jag säga.
Men det enda jag stör mig på.

Det är det där med "RE:" saken.
Den borde skriva ut i VILKEN tråd det skrevs i istället.

Annars mycket bra Smile
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger ICQ-nummer
haddock



Medlem i: 5905 dagar
Från: :nårF
Status: Offline



#47435
Inlägg Skrivet: 2003-06-02 18:32      Ämne: Citera

Nemesis skrev:
Mycket bra script må jag säga.
Men det enda jag stör mig på.

Det är det där med "RE:" saken.
Den borde skriva ut i VILKEN tråd det skrevs i istället.

Annars mycket bra Smile


Tack.

För att lista topic (tråd) istället för RE: kan du byta ut sql mot

KOD:
1:
SELECT forum_posts_text.post_id, forum_users.username, forum_posts_text.post_subject, forum_topics.topic_title, forum_posts_text.post_text
2:
FROM databas.forum_posts, databas.forum_posts_text, databas.forum_users, databas.forum_topics
3:
where forum_posts.post_id = forum_posts_text.post_id
4:
and forum_posts.poster_id = forum_users.user_id
5:
and forum_posts.topic_id = forum_topics.topic_id
6:
and forum_posts.forum_id != 3
7:
ORDER BY zforum_posts.post_id
8:
desc
9:
LIMIT 0, 3


och byt även ut raderna
KOD:
1:
 
2:
    if (!$posts["post_subject"]) {
3:
        echo ("RE: ");
4:
    } else {
5:
        echo $posts["post_subject"];
6:
    }
7:
 


mot

KOD:
1:
 
2:
    if (!$posts["post_subject"]) {
3:
        echo $posts["topic_title"];
4:
    } else {
5:
        echo $posts["post_subject"];
6:
    }
7:
 


Då får du trådtiteln iställte för "RE:"

EDIT: ett alternativ är ju att slänga in
KOD:
1:
echo ("Re: ".$posts["topic_title"]);


så får du ett "Re: trådens namn", vilket är mer passande.
 

_________________
Det här är ett stycke text som kan läggas till i inlägg du skapar. Det finns en gräns på 255 tecken.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
AoZ



Medlem i: 5784 dagar

Status: Offline



#50463
Inlägg Skrivet: 2003-06-15 20:58      Ämne: Citera

underbart script!!

Just när man behövde det och tänkte göra det själv oxå.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
Jacob



Medlem i: 5820 dagar
Från: Göteborgish --> Lerum
Status: Offline



#50504
Inlägg Skrivet: 2003-06-15 23:41      Ämne: varför? Citera

alla script jag kör får jag nästan
KOD:
1:
Parse error: parse error, [quote]unexpected T_VARIABLE [/quote]in C:\Program\Apache Group\Apache2\htdocs\lol.php on line 3
2:
 

varför är det för att jag har register globas off eller?

KOD:
1:
 
2:
<?php 
3:
$connect = mysql_connect("localhost", "bujinkantrollha", "xxxxxxxx") or die("Can't connect to db");
4:
$database = mysql_select_db("bujinkantrollha") or die("Can't select db");
5:
 
6:
$sql_posts=mysql_query("SELECT phpbb_posts_text.post_id, phpbb_users.username, phpbb_posts_text.post_subject, phpbb_posts_text.post_text
7:
FROM bujinkantrollha.phpbb_posts, bujinkantrollha.phpbb_posts_text, bujinkantrollha.phpbb_users
8:
where phpbb_posts.post_id = phpbb_posts_text.post_id
9:
and phpbb_posts.poster_id = phpbb_users.user_id
10:
and phpbb_posts.forum_id != 3
11:
ORDER BY phpbb_posts.post_id
12:
desc
13:
LIMIT 0, 3"); //eller så många inlägg du vill att den skall lista
14:
 
15:
//raden "and forum_posts.forum_id != 3" listar inte inlägg i "hemliga/privata forum", i detta fall forum id 3
16:
 
17:
echo ("<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"); 
18:
while ($posts=mysql_fetch_array($sql_posts)) { 
19:
 
20:
    echo ("<b>* </b><a target=\"_blank\" title=\"".substr($posts["post_text"],0,255)."\" href=\"http://scripts/phpBB2/viewtopic.php?p=".$posts["post_id"]."#".$posts["post_id"]."\">"); // raden title=\"".substr($posts["post_text"],0,255)."\" gör att foruminläggets innehåll visas vid mouseover (sådär tufft som bl.a. på phpportalens sidor). 0,255 gör att den visar 256 tecken från inlägget
21:
    if (!$posts["post_subject"]) { 
22:
        echo ("RE: "); //om det ej finns någon rubrik på inlägget, skriv då ut "RE: "
23:
    } else { 
24:
        echo $posts["post_subject"]; 
25:
    } 
26:
    echo ("</a><br>"); 
27:
    echo ("<font size=\"1\">(Av: ".$posts["username"].")</font><br>"); 
28:
29:
echo ("</td></tr></table>"); 
30:
?>
 

_________________
HELLÖ RÖMAN!
(Notera att jag går mot strömmen och behåller min Jul-avatar!)
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
icehole



Medlem i: 5702 dagar
Från: Malmoe
Status: Offline



#50963
Inlägg Skrivet: 2003-06-17 15:25      Ämne: Citera

Jag har detta, men det funkar inte för mig (min databas heter phpbb):
PHP:
1:
 
2:
<?php 
3:
$connect mysql_connect("localhost""root""") or die("Can't connect to db"); 
4:
$phpbb_e mysql_select_db("phpbb") or die("Can't select db"); 
5:
 
6:
$sql_posts=mysql_query("SELECT phpbb_posts_text.post_id, phpbb_users.username, phpbb_posts_text.post_subject, phpbb_posts_text.post_text 
7:
FROM phpbb.phpbb_posts, phpbb.phpbb_posts_text, phpbb.phpbb_users 
8:
where phpbb_posts.post_id = phpbb_posts_text.post_id 
9:
and phpbb_posts.poster_id = phpbb_users.user_id 
10:
and phpbb_posts.phpbb_id != 3 ORDER BY phpbb_posts.post_id desc LIMIT 0, 3"); //eller så många inlägg du vill att den skall lista 
11:
 
12:
//raden "and phpbb_posts.phpbb_id != 3" listar inte inlägg i "hemliga/privata forum", i detta fall forum id 3 
13:
 
14:
echo ("<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"); 
15:
while ($posts=mysql_fetch_array($sql_posts)) { 
16:
 
17:
    echo ("<b>* </b><a target=\"_blank\" title=\"".substr($posts["post_text"],0,255)."\" href=\"http://forum-URL/viewtopic.php?p=".$posts["post_id"]."#".$posts["post_id"]."\">"); // raden title=\"".substr($posts["post_text"],0,255)."\" gör att foruminläggets innehåll visas vid mouseover (sådär tufft som bl.a. på phpportalens sidor). 0,255 gör att den visar 256 tecken från inlägget 
18:
    if (!$posts["post_subject"]) { 
19:
        echo ("RE: "); //om det ej finns någon rubrik på inlägget, skriv då ut "RE: " 
20:
    } else { 
21:
        echo $posts["post_subject"]; 
22:
    } 
23:
    echo ("</a><br>"); 
24:
    echo ("<font size=\"1\">(Av: ".$posts["username"].")</font><br>"); 
25:
26:
echo ("</td></tr></table>"); 
27:
?>


Den ger mig:

Warning: Supplied argument is not a valid MySQL result resource in /var/www/html/intranet/iadmin/inc/forum10.php on line 14
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2, 3, 4  Nästa
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic