Recent Posts - Über Drop Down Menü Order wählen?

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.
sabrina

Recent Posts - Über Drop Down Menü Order wählen?

Beitrag von sabrina »

Hi,
ich habe ein kleines script geschrieben das mir auf einer Seite die neuesten Posts im phpBB anzeigt nun möchte ich gerne ein Drop Down Menü hinzufügen in dem die User wählen können ob die ab oder aufsteigend sortiert angezeigt werden!Das script sieht so aus:

Code: Alles auswählen

<?php

define('IN_PHPBB', true);

$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);

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

$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_last_post_id DESC
        LIMIT 5";
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('sitemap_topics', array(
                                        'TOPIC_LINKS' => $topics)
                                );
       }
       $template->set_filenames(array(
   'body' => 'sitemap.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.php'))
);
$template->assign_var_from_handle('JUMPBOX', 'jumpbox');


$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Hat jemand ne idee wie ich das realisieren kann?
Ich wäre für Tipps dankbar!

Grüße sabrina
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Wenn alle Stricke reissen schau ma in der memberlist.php/memberlist_body.tpl nach, da gib´s ´ne "Anleitung" für ascending/descending Sortierung.
sabrina

Beitrag von sabrina »

Da habe ich auch schon nachgesehen nur ich komm damit irgendwie net zurecht ich hab noch so gut wie keine ahnung von php :oops:

Trotzdem danke für die schnelle Antwort :)

Grüße sabrina
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Zuerst definierst du die dropdownliste wie unter http://selfhtml.teamone.de/html/formula ... htm#listen beschrieben:

Code: Alles auswählen

<form action="blub.php" method="get">
Sortieren nach: <select name="sortdir" size="1">
<option value="asc">Aufsteigend</option>
<option value="desc">Absteigend</option>
</select>
<input type="submit" value="Sortieren">
</form>
Dann schreibst du den PHP-Code:

Code: Alles auswählen

$sortdir = $HTTP_GET_VARS['sortdir'];
//Verändern des SQL-Befehls verhindern
if(strtolower($sortdir) != 'asc')
    $sortdir='desc';

...

$sql = "... ORDER BY t.topic_last_post_id $sortdir";
sabrina

Beitrag von sabrina »

thx hat geklappt :) Sagt mal gibt es auch eine möglichkeit das ganze auf 2 Bilder zu legen also das es auf/absteigend sortiert wird wenn man auf ein .gif klickt?

Ich habe es mal so probiert:

Code: Alles auswählen

<form action="sitemap.php" method="get">
<input type="img" name="sortdir" src="templates/subSilver/images/arrow_down.gif" value="asc">
<input type="img" name="sortdir" src="templates/subSilver/images/arrow_up.gif" value="desc">
</form>
aber dann wird nur ein eingbefeld angezeigt :( Hat jemand ne idee wie ich das hinbekommen kann??

Grüße sabrina
Benutzeravatar
NS-6
Ehemaliges Teammitglied
Beiträge: 1440
Registriert: 21.09.2002 13:13
Wohnort: Bielefeld (NRW)
Kontaktdaten:

Beitrag von NS-6 »

Idee wie das geht hab ich zwar net, aber wie wäre es denn mal, wenn du dein Script als Hack oder dergleichen anbietest :wink: ? Das wäre doch mal was, oder ? Dann könnten andere auch von deinem Script profietieren... :D
Der Weg ist das Ziel
Lieblingszitat: "Be sure, your Config is Saved and Secure"
Blog von NastorSeriesSix
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wenn du das ganze als Formular realisieren willst, geht das mit type="image" anstatt type="img". Dann wird allerdings nicht das übertragen was in value drinsteht, sondern die Koordinaten, an denen geklickt wurde.

Stattdessen solltest du einfach normale Links verwenden:

Code: Alles auswählen

<a href="sitemap.php?sortdir=asc"><img src="sort_asc.gif" border="0"></a>
<a href="sitemap.php?sortdir=desc"><img src="sort_desc.gif" border="0"></a>
http://selfhtml.teamone.de/html/grafiken/verweise.htm
sabrina

Beitrag von sabrina »

thx Pyramide das klappt supi :)
LexX hat geschrieben:Idee wie das geht hab ich zwar net, aber wie wäre es denn mal, wenn du dein Script als Hack oder dergleichen anbietest :wink: ? Das wäre doch mal was, oder ? Dann könnten andere auch von deinem Script profietieren... :D
Ich glaub net das es jemand anderes gebrauchen kann,des soll so eine Art Sitemap werden wo alle Themen/Foren/Foren Kategorien angezeigt! Aber ich kanns ja gerne mal hier posten wenns fertig ist :)

Grüße sabrina
Benutzeravatar
esperitox
Mitglied
Beiträge: 803
Registriert: 17.04.2002 21:40
Wohnort: Line 758
Kontaktdaten:

Beitrag von esperitox »

Hi,
vieleicht solltest du statt:

Code: Alles auswählen

$sortdir = $HTTP_GET_VARS['sortdir']; 
Besser das verwenden:

Code: Alles auswählen

$sortdir = intval( $HTTP_GET_VARS['sortdir'] );
Glaub das gibt sonst ein SH hat mal irgendwer hier gepostet :wink:

esperitox
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wo hast du denn den mist aufgeschnappt?
http://de.php.net/manual/de/function.intval.php hat geschrieben:Konvertiert einen Wert nach integer
Was soll es also bringen, "asc" oder "desc" in einen Integer zu konvertieren? Außer daß als Ergebnis 0 rauskommt?
Antworten

Zurück zu „Coding & Technik“