Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Suchfunktion um "Neueste Themen anzeigen" erweitern
#1
Hallo, alle zusammen!

In dem Beitrag https://www.mybb.de/forum/showthread.php...04#pid2604 hab ich diese Funktion entsprechend eingebaut. Allerdings bin ich mit der Darstellung nicht so zufrieden. Nun habe ich mir überlegt, die Suchfunktion zu modifizieren.

Um die neuesten Beiträge zu suchen kann man ja den "search.php?action=getnew"-Befehl verwenden. Nun würde ich gerne einen Befehl einfügen "search.php?action=getnewthreads", damit ich die neuesten Themen angezeigt bekomme.

Ich habe schonmal ein paar Zeilen geschrieben bzw. umgeschrieben, aber irgendwie funktioniert es nicht so richtig.
PHP-Code:
elseif($mybb->input['action'] == "getnewthreads")
{
    
    
$where_sql "t.tid >= '".$mybb->user['lastvisit']."'";

    if(
$mybb->input['fid'])
    {
        
$where_sql .= " AND t.fid='".intval($mybb->input['fid'])."'";
    }
    
    
$unsearchforums get_unsearchable_forums();
    if(
$unsearchforums)
    {
        
$where_sql .= " AND t.fid NOT IN ($unsearchforums)";
    }
    
$inactiveforums get_inactive_forums();
    if(
$inactiveforums)
    {
        
$where_sql .= " AND t.fid NOT IN ($inactiveforums)";
    }

    
$sid md5(uniqid(microtime(), 1));
    
$searcharray = array(
        
"sid" => $db->escape_string($sid),
        
"uid" => $mybb->user['uid'],
        
"dateline" => time(),
        
"ipaddress" => $db->escape_string($session->ipaddress),
        
"threads" => '',
        
"posts" => '',
        
"searchtype" => "titles",
        
"resulttype" => "threads",
        
"querycache" => $db->escape_string($where_sql),
    );

    
$plugins->run_hooks("search_do_search_process");
    
$db->insert_query(TABLE_PREFIX."searchlog"$searcharray);
    
redirect("search.php?action=results&sid=".$sid$lang->redirect_searchresults);


Liebe Grüße, GM!
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
Zitieren
#2
Hat jemand eine Idee?
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
Zitieren
#3
Was genau funktioniert denn nicht? Bitte poste mehr Details, dann kann man die Fehlersuche besser einschränken.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#4
HI, Michael!

Es werden keine Suchergebnisse angezeigt. Stattdessen kommt eine Forenmeldung "Sorry, aber nach deinen Angaben wurden keine Ergebnisse gefunden. Bitte ändere deine Suchbegriffe und versuche es erneut."

Komisch ist daran, dass seit meinem letzten Besuch neue Themen geschrieben wurden. Also, theoretisch, müssten diese doch angezeigt werden.

Woran könnte das liegen?
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
Zitieren
#5
Was genau hast du denn gemacht? Hast du den Codeteil für die Suche nach neuen Posts kopiert und angepasst?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#6
Ja, hab ich. In der search.php hab ich den "elseif($mybb->input['action'] == "getnew")" Teil kopiert, etwas abgeändert (siehe oben) und darunter eingefügt. Aber statt der Suchergebnisse kommt diese Meldung.
Hab ich vielleicht die falsche Tabelle "t.tid >= '" genommen? Oder muß ich da was anderes hinzufügen/ändern?
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
Zitieren
#7
Es kann so auch nicht funktionieren. Du suchst nach Threads, deren ID größer ist als die Zeit des letzten Besuchs, das macht gar keinen Sinn.
Ersetze
PHP-Code:
$where_sql "t.tid >= '".$mybb->user['lastvisit']."'"
durch:
PHP-Code:
$where_sql "t.dateline >= '".$mybb->user['lastvisit']."'"

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#8
Uups, stimmt das macht keinen Sinn! *peinlichberührtbin*

Danke für deine schnelle Hilfe, hat super geklappt!!! *freu* :-)
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Neueste Beiträge anzeigen UweJ 6 1.091 22.11.2022, 14:02
Letzter Beitrag: UweJ
  Neueste Themen auf eigener Seite - Status ungelesen abfragen Zwoetzen 13 5.898 16.11.2016, 17:02
Letzter Beitrag: Amaryllion
Question neueste themen auf externe seite anzeigen lassen??? happyspeedy 292 124.075 28.06.2014, 21:54
Letzter Beitrag: Jockl
  Neueste Themen Box? :D Rasta 2 2.498 12.10.2011, 21:18
Letzter Beitrag: Rasta
Question "overview" - nur neueste anzeigen Urlicht 5 3.002 09.06.2011, 13:18
Letzter Beitrag: frostschutz