MyBB.de Forum

Normale Version: Suchfunktion um "Neueste Themen anzeigen" erweitern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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!
Hat jemand eine Idee?
Was genau funktioniert denn nicht? Bitte poste mehr Details, dann kann man die Fehlersuche besser einschränken.
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?
Was genau hast du denn gemacht? Hast du den Codeteil für die Suche nach neuen Posts kopiert und angepasst?
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?
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']."'"
Uups, stimmt das macht keinen Sinn! *peinlichberührtbin*

Danke für deine schnelle Hilfe, hat super geklappt!!! *freu* :-)