mySql - Abfrage der Threads

invis!ble
hi,

ich moechte die Threads aus einen bestimmten Foren in einem rss2.0 Script darstellen lassen,

Die Threads auslesen etc funktioniert alles, nur wuerde ich das gern mit LEFT JOIN machen wenn dies geht.

Aus den Foren die ich brauche lese ich z.Z. "topic, threadid, starttime, starter" aus und gebe diese im im Script aus, jetzt will ich fuer die Rss-Reader auch noch den Beitrag selbst darstellen, da komme ich allerdings nicht weiter mit einer Abfrage, ich hab das z.Z. noch so, das ich dann anhand der threadid aus bb1_posts weiter auslesen, aber das sind eben 2 Abfragen.....

hier meine aktuelle Abfrage, waere schoen wenn mir jemand den helfen koennte, danke:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
$resID $db->query("SELECT
                            `topic`,
                            `threadid`,
                            `starttime`,
                            `starter`
                        FROM 
                            `bb".$n."_threads` 
                        WHERE 
                            `boardid`
                        IN 
                            ('$boardid')
                        ORDER BY 
                            `starttime`
                        DESC LIMIT 0,$anzahl");
heino-1989
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
<?php
require("global.php");
$boardid 16;
$anzahl 3;
$result $db->query("SELECT
                            thr.`topic`,
                            thr.`threadid`,
                            thr.`starttime`,
                            thr.`starter`,
                            pst.`message`
                        FROM
                            `bb".$n."_threads` thr
                        LEFT JOIN
                            bb".$n."_posts pst
                        ON
                            (thr.`threadid`=pst.`threadid`)
                        WHERE
                            thr.`boardid` IN ('$boardid')
                        ORDER BY
                           thr.`starttime`
                        DESC LIMIT 0,$anzahl");

echo '<pre>';
while($info=$db->fetch_array($result)) {
    print_r($info);
}
echo '</pre>';
?>


So muss die Message aber noch geparst werden fröhlich
invis!ble
dank dir,
das ich es noch parsen muss ist klar, wenn du mir jetzt noch sagen koenntest wie ich von dem einem Thread immer nur den ersten Post auslesen kann, dann waere ich gluecklich, weil so kommt ja immer der ganze Thread, ich brauche aber nur den eigentlichen Post, also nur den ersten.
heino-1989
Klar, sorry
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
<?php
require("global.php");
$boardid 16;
$anzahl 3;
$result $db->query("SELECT DISTINCT
                            thr.`topic`,
                            thr.`threadid`,
                            thr.`starttime`,
                            thr.`starter`,
                            pst.`message`
                        FROM
                            `bb".$n."_threads` thr
                        LEFT JOIN
                            bb".$n."_posts pst
                        ON
                            (pst.`threadid`=thr.`threadid`AND pst.`posttime`=thr.`starttime` AND pst.` parentpostid` = 0)

                        WHERE
                            thr.`boardid` IN ('$boardid')
                        ORDER BY
                           thr.`starttime`
                        DESC LIMIT 0,$anzahl");

echo '<pre>';
while($info=$db->fetch_array($result)) {
    print_r($info);
}
echo '</pre>';
?>

Das ist auf jeden Fall abwärtskompatibel bis MySQL 3.23 xD
In den späteren Versionen wären auch Subselects möglich gewesen, aber so gehts auch xD
invis!ble
danke, es funktioniert wunderbar Augenzwinkern
heino-1989
Zitat:
Original von invis!ble
danke, es funktioniert wunderbar Augenzwinkern


Hast du was anderes erwartet ? großes Grinsen
Zunge raus