phpBB: Alle Antworten auf ein Thema auslesen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Jason

phpBB: Alle Antworten auf ein Thema auslesen?

Beitrag von Jason »

Hi,
ich habe mir ein kleines Script geschrieben das alle Themen ( Mit einem Limit von 1000 ) aus der tabelle phpbb_topics ausliest nun möchte ich zusätzlich zu den Topics noch die Antworten auf die Topics auslesen das habe ich so probiert:
Aber es wird nur die erste Antwort auf das thema angezeigt.
Hat irgendjemand ne idee wie ich das richtig hinbekommen kann also das alle Antworten und nicht bloß die erste Antwort auf das Thema angezeigt wird?

Hier auch mal der komplette teil mit auslesen der themen:
Ich wäre dankbar wenn mir da jemand weiterhelfen könnte :-?

Grüße Jason
Zuletzt geändert von Jason am 14.04.2003 22:50, insgesamt 1-mal geändert.
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Du brauchst für die Posts (also die Antworten auf das Topic) auch eine while-Schleife.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Jason

Beitrag von Jason »

Jo sowas hab ich mir schon gedacht nur weiss ich nicht wo die while schleife hin muss wenn ich es so mache:
wird nur die letzte Antwort auf das jeweilige Thema angezeigt :-?

Gruß Jason
Zuletzt geändert von Jason am 14.04.2003 22:49, insgesamt 1-mal geändert.
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Code: Alles auswählen

if ( !empty($postsrow['post_id']) )
{
    $posts .= 'RE: <a href="viewtopic.php?' . POST_POST_URL . '=' . $postsrow['post_id'] . '#' . $postsrow['post_id'] . '">' . $postsrow['post_subject'] . '</a><br>';
} else
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Jason

Beitrag von Jason »

Danke!! funktioniert 1a :)

Gruß Jason
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Büdde ;-)
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Jason

Beitrag von Jason »

Ah hab mich zu früh gefreut es werden jetzt bei jedem thema diegGleichen Posts als Antworten angezeigt also nicht bei jedem Thema die Antworten die auch zum Thema gehören sondern die Antworten die nur zum 1 Augegebenen Thema gehören.

Vieleicht habe ich etwas zu dumm erklärt was ich genau machen will also ich lese mit diesem code-teil wie schon gesagt alle Themen (Limitiert auf 200) aus:

Code: Alles auswählen

$sql = "SELECT t.topic_id, t.topic_title
        FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
        WHERE f.forum_id = t.forum_id
        ORDER BY t.topic_title $sortdir_topics
        LIMIT $offset, $offsetstat";

if( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not query topic info', '', __LINE__, __FILE__, $sql);
}
       while ( $row = $db->sql_fetchrow($result) )
       {

       $topics = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $row['topic_id'] . '">' . $row['topic_title'] . '</a><br>';
       $template->assign_block_vars('topics', array(
                                        'TOPIC_LINKS' => $topics)
                                );
       }
so sieht der template teil aus:

Code: Alles auswählen

<!-- BEGIN topics -->
{topics.TOPIC_LINKS}
<!-- END topics -->
Dann werden die ersten 200 themen als Link untereinander ausgegeben so:
ich wollte jetzt zusätzlich noch die Antworten die auf diese themen gegeben wurden ausgeben lassen das ganze sollte dann so aussehen:
Wenn ich es jetzt mit deinem Code mache werden wie gesagt bei allen themen die gleichen Antworten angezeigt wie beim ersten Thema das ausgegeben wird.Ist es irgendwie möglich das so hinzukriegen?

Gruß Jason
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Poste bitte nochmal Deinen Code und das Template.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Jason

Beitrag von Jason »

Sorry war gestern abend zu müde zum posten :P Also der code der php site in der roh fassung (Den teil mit den Antworten hab ich erstmal wieder ausgebaut da entweder nur 1 Antwort angezeigt wird oder wie gesagt bei allen die gleichen Antworten angezeigt wurden) sieht so aus:

Code: Alles auswählen

<?php

$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
init_userprefs($userdata);

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

//Get offset status for topics
$offsetstat = '200';

if( isset($HTTP_GET_VARS['offset']) || isset($HTTP_POST_VARS['offset']) )
{
   $offset = ( isset($HTTP_POST_VARS['offset']) ) ? intval($HTTP_POST_VARS['offset']) : intval($HTTP_GET_VARS['offset']);
}
else
{
   $offset = 0;
}

$sql = "SELECT t.topic_id, t.topic_title
        FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
        WHERE f.forum_id = t.forum_id
        ORDER BY t.topic_title
        LIMIT $offset, $offsetstat";

if( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not query topic info', '', __LINE__, __FILE__, $sql);
}
       while ( $row = $db->sql_fetchrow($result) )
       {

       $topics = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $row['topic_id'] . '">' . $row['topic_title'] . '</a><br>';
       $template->assign_block_vars('topics', array(
                                        'TOPIC_LINKS' => $topics)
                                );
       }

$offset = $offset + $offsetstat;
$offsetminus = $offset - $offsetstat - $offsetstat;

if ( $HTTP_GET_VARS['offset'] == $offsetstat )
{
$offseturl = '<a href="topics.php">Die vorherigen ' . $offsetstat . ' Themen anzeigen</a>';
}
else
{
$offseturl = '<a href="topics.php?offset=' . $offsetminus . '">Die vorherigen ' . $offsetstat . ' Themen anzeigen</a>';
}

if ( $offset > $offsetstat )
{
$new_back = $offseturl;
$new_next = '&::&<a href="topics.php?offset=' . $offset . '">Die nächsten ' . $offsetstat . ' Themen anzeigen</a>';
}
else
{
$new_next = '<a href="topics.php?offset=' . $offset . '">Die nächsten ' . $offsetstat . ' Themen anzeigen</a>';
}

$template->set_filenames(array(
   'body' => 'topics.tpl',
   'jumpbox' => 'jumpbox.tpl')
);

$jumpbox = make_jumpbox($forum_id);
$template->assign_vars(array(
   'L_GO' => $lang['Go'],
   'L_JUMP_TO' => $lang['Jump_to'],
   'L_SELECT_FORUM' => $lang['Select_forum'],

   'S_JUMPBOX_LIST' => $jumpbox,
   'S_JUMPBOX_ACTION' => append_sid('viewforum.$phpEx'))
);
$template->assign_var_from_handle('JUMPBOX', 'jumpbox');


$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Und der inhalt des templates ist eigentlich nur der den ich oben schon gepostet habe:

Code: Alles auswählen

<!-- BEGIN topics --> 
{topics.TOPIC_LINKS} 
<!-- END topics -->
Gruß Jason
Antworten

Zurück zu „Coding & Technik“