erweiterung der suche

Freaky
Hallo, ich nochmal großes Grinsen


ich würde es gerne schaffen, mit einem link z.b. über die suche direkt alle themen aus diesem monat darzustellen (minimiert also ganz normale themenübersicht)

denn ich habe vor einen button zu machen, news des Monats ....


also quasi wurden in einem monat bsp. 20 Themen erstellt und dann mit einem link all diese themen anzeigen (auch aus verschiedenen kategorien/foren)


ist soetwas möglich?? fals ich mich unklar ausgedrückt habe oder nicht klar genug is was ich suche/meine dann bitte bescheid geben
Maniac_81
möglich ist das schon, weis nur nicht ob dazu schon einen hack gibt. solltest eventuell mal auf www.wbb-hackliste.de nachsehen
Freaky
hm da habe ich leider nicht wirklich was gefunden ...


ist es denn vielleicht möglich, dass man diese suche hier ./wbb2/search.php?action=24h .. aktive Themen der letzten 24h

so ummodeliert das mann z.b. 30 Tage daraus macht ??? diese suche würde mich schon sehr viel weiter helfen ...
Agi
Zitat:
Original von Freaky
hm da habe ich leider nicht wirklich was gefunden ...


ist es denn vielleicht möglich, dass man diese suche hier ./wbb2/search.php?action=24h .. aktive Themen der letzten 24h

so ummodeliert das mann z.b. 30 Tage daraus macht ??? diese suche würde mich schon sehr viel weiter helfen ...


search.php

Suche nach:

php:
1:
?>


Und füge darüber ein:

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:
30:
31:
32:
33:
/* new threads 30 days */
if ($_GET['action'] == '30d') {
    $boardids '';
    list($boardcount) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_boards");
    
    $result $db->query("SELECT boardid FROM bb".$n."_boards WHERE password='' AND boardid IN (0".getSearchableBoards().")");
    if ($db->num_rows($result) < $boardcount) {
        while ($row $db->fetch_array($result)) {
            if ($boardids != ''$boardids .= ','.$row['boardid'];
            else $boardids $row['boardid'];
        }
        if (!$boardidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    }    
    
    $savepostids '';
    $datecute time() - 86400*30;
    $result $db->unbuffered_query("SELECT p.postid FROM bb".$n."_posts p, bb".$n."_threads t WHERE p.threadid=t.threadid AND p.visible=1 AND (p.posttime>'$datecute' OR p.edittime>'$datecute')
    ".(($boardids) ? ("AND t.boardid IN ($boardids)") : ("")));
    while ($row $db->fetch_array($result)) $savepostids .= ','.$row['postid'];
    
    if (!$savepostidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    $result $db->query_first("SELECT searchid FROM bb".$n."_searchs WHERE searchhash = '".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."'");
    if ($result['searchid']) {
        header("Location: search.php?searchid=".$result['searchid'].$SID_ARG_2ND_UN);
        exit();
    }
    $db->query("INSERT INTO bb".$n."_searchs (searchhash,postids,showposts,sortby,sortorder,searchtime,userid,ipaddress)
    VALUES ('".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."','$savepostids','0','lastpost','desc','".time()."','$wbbuserdata[userid]','$REMOTE_ADDR')");
    $searchid $db->insert_id();
    
    header("Location: search.php?searchid=$searchid".$SID_ARG_2ND_UN);
    exit();     
}


Aufrufbar durch search.php?action=30d

Keine Funktionsgarantie, aber so sollte es funktionieren.
Freaky
Guten Morgen .. also ich habe das mal ausprobiert .. leider funktioniert das nicht ... kann es etwas daran liegen, dass mein Forum jetzt noch keine 30 Tage alt ist?

aber ich habe es auch mit kleineren werten ...

Zitat:
$datecute = time() - 86400*2;


oder so probiert .. aber leider kommt kein ergebnis sondern die "haupt" suchseite

*edit*

wäre es denn möglich quasi alle neue themen einer kategorie anzeigen zu lassen mit einem link ohne diese suche wirklich zu benutzen? dann muss ich halt immer alle alte nach einem monat ins archiv verschieben.
<- das gefällt mir sogar sehr gut wenn das geht



*edit die zweite*


hab jetzt ellenlang getestet und so funktioniert eigtl .. wers auch braucht!
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:
30:
31:
32:
33:
/* new threads board*/
if ($_GET['action'] == 'board') {
    $boardids '5,2,6,7';
    list($boardcount) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_boards");
    
    $result $db->query("SELECT boardid FROM bb".$n."_boards WHERE password='' AND boardid IN (0".getSearchableBoards().")");
    if ($db->num_rows($result) < $boardcount) {
        while ($row $db->fetch_array($result)) {
            if ($boardids != '5;2;6;7'$boardids .= ','.$row['boardid'];
            else $boardids $row['boardid'];
        }
        if (!$boardidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    }    
    
    $savepostids '';
    $datecute time() - 2678400;
    $result $db->unbuffered_query("SELECT p.postid FROM bb".$n."_posts p, bb".$n."_threads t WHERE p.threadid=t.threadid AND p.visible=1 AND (p.posttime>'$datecute' OR p.edittime>'$datecute')
    ".(($boardids) ? ("AND t.boardid IN ($boardids)") : ("")));
    while ($row $db->fetch_array($result)) $savepostids .= ','.$row['postid'];
    
    if (!$savepostidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    $result $db->query_first("SELECT searchid FROM bb".$n."_searchs WHERE searchhash = '".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."'");
    if ($result['searchid']) {
        header("Location: search.php?searchid=".$result['searchid'].$SID_ARG_2ND_UN);
        exit();
    }
    $db->query("INSERT INTO bb".$n."_searchs (searchhash,postids,showposts,sortby,sortorder,searchtime,userid,ipaddress)
    VALUES ('".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."','$savepostids','0','lastpost','desc','".time()."','$wbbuserdata[userid]','$REMOTE_ADDR')");
    $searchid $db->insert_id();
    
    header("Location: search.php?searchid=$searchid".$SID_ARG_2ND_UN);
    exit();     
}


$boardids = '5,2,6,7'; bzw. if ($boardids != '5;2;6;7') ... selbst anpassen!!
mfg
Shackles
Zitat:
Original von Agi
Zitat:
Original von Freaky
hm da habe ich leider nicht wirklich was gefunden ...


ist es denn vielleicht möglich, dass man diese suche hier ./wbb2/search.php?action=24h .. aktive Themen der letzten 24h

so ummodeliert das mann z.b. 30 Tage daraus macht ??? diese suche würde mich schon sehr viel weiter helfen ...


search.php

Suche nach:

php:
1:
?>


Und füge darüber ein:

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:
30:
31:
32:
33:
/* new threads 30 days */
if ($_GET['action'] == '30d') {
    $boardids '';
    list($boardcount) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_boards");
    
    $result $db->query("SELECT boardid FROM bb".$n."_boards WHERE password='' AND boardid IN (0".getSearchableBoards().")");
    if ($db->num_rows($result) < $boardcount) {
        while ($row $db->fetch_array($result)) {
            if ($boardids != ''$boardids .= ','.$row['boardid'];
            else $boardids $row['boardid'];
        }
        if (!$boardidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    }    
    
    $savepostids '';
    $datecute time() - 86400*30;
    $result $db->unbuffered_query("SELECT p.postid FROM bb".$n."_posts p, bb".$n."_threads t WHERE p.threadid=t.threadid AND p.visible=1 AND (p.posttime>'$datecute' OR p.edittime>'$datecute')
    ".(($boardids) ? ("AND t.boardid IN ($boardids)") : ("")));
    while ($row $db->fetch_array($result)) $savepostids .= ','.$row['postid'];
    
    if (!$savepostidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    $result $db->query_first("SELECT searchid FROM bb".$n."_searchs WHERE searchhash = '".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."'");
    if ($result['searchid']) {
        header("Location: search.php?searchid=".$result['searchid'].$SID_ARG_2ND_UN);
        exit();
    }
    $db->query("INSERT INTO bb".$n."_searchs (searchhash,postids,showposts,sortby,sortorder,searchtime,userid,ipaddress)
    VALUES ('".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."','$savepostids','0','lastpost','desc','".time()."','$wbbuserdata[userid]','$REMOTE_ADDR')");
    $searchid $db->insert_id();
    
    header("Location: search.php?searchid=$searchid".$SID_ARG_2ND_UN);
    exit();     
}


Aufrufbar durch search.php?action=30d

Keine Funktionsgarantie, aber so sollte es funktionieren.


Das funktioniert, danke!!!! smile smile smile
Shackles
Irgendwie funktioniert es nicht mehr bei mir, verstehe ich gar nicht.

Es kommt jetzt, wenn ich den Link aufrufe:

Erst geht die Suche auf und dann kommt

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w0085857/Selbsthilfeforum/acp/lib/class_tpl_file.php:85) in /www/htdocs/w0085857/Selbsthilfeforum/search.php on line 779

Ich hänge mal die search.php an
Agi
Hast du seitdem mal irgendwas an der search.php verändert?
Shackles
Hm, das weiß ich gar nicht genau, ich baue immer so viel ein, meinst da ist sich was im Weg?