Brad
10-17-2002, 11:42 AM
Basicly im trying to make some code that will send you to the frist post of a thread insted of the lastest via the index.php page. The problem is my code is pulling random threads, i know the error is in the block of code below but im not the best in the world at php (templates are my thing :) ) so can someone point out the error for me?.
// goto last thread
if ($goto=="lastthread") {
if (isset($threadid) and $threadid!=0) {
$threadid = verifyid("thread",$threadid);
if ($thread=$DB_site->query_first("SELECT threadid FROM thread WHERE forumid IN (0$forumslist) AND visible=1 ORDER BY threadid DESC LIMIT 1")) {
header("Location: showthread.php?s=$session[sessionhash]&threadid=$thread[threadid]");
exit;
}
}
if (isset($forumid) and $forumid!=0) {
$foruminfo=verifyid("forum",$forumid,1,1);
$forumid=$foruminfo['forumid'];
$forumslist = "";
$getchildforums=$DB_site->query("SELECT forumid,parentlist FROM forum WHERE INSTR(CONCAT(',',parentlist,','),',$forumid,')>0");
while ($getchildforum=$DB_site->fetch_array($getchildforums)) {
if ($getchildforum[forumid]==$forumid) {
$parentlist=$getchildforum[parentlist];
}
$forumslist.=",$getchildforum[forumid]";
}
$thread=$DB_site->query_first("SELECT threadid FROM thread WHERE forumid IN (0$forumslist) AND visible=1 AND (sticky=1 OR sticky=0) ORDER BY threadid DESC LIMIT 1");
if ($thread=$DB_site->query_first("SELECT threadid FROM thread WHERE forumid IN (0$forumslist) AND visible=1 ORDER BY threadid DESC LIMIT 1")) {
header("Location: showthread.php?s=$session[sessionhash]&threadid=$thread[threadid]");
exit;
}
}
}
// goto last thread
if ($goto=="lastthread") {
if (isset($threadid) and $threadid!=0) {
$threadid = verifyid("thread",$threadid);
if ($thread=$DB_site->query_first("SELECT threadid FROM thread WHERE forumid IN (0$forumslist) AND visible=1 ORDER BY threadid DESC LIMIT 1")) {
header("Location: showthread.php?s=$session[sessionhash]&threadid=$thread[threadid]");
exit;
}
}
if (isset($forumid) and $forumid!=0) {
$foruminfo=verifyid("forum",$forumid,1,1);
$forumid=$foruminfo['forumid'];
$forumslist = "";
$getchildforums=$DB_site->query("SELECT forumid,parentlist FROM forum WHERE INSTR(CONCAT(',',parentlist,','),',$forumid,')>0");
while ($getchildforum=$DB_site->fetch_array($getchildforums)) {
if ($getchildforum[forumid]==$forumid) {
$parentlist=$getchildforum[parentlist];
}
$forumslist.=",$getchildforum[forumid]";
}
$thread=$DB_site->query_first("SELECT threadid FROM thread WHERE forumid IN (0$forumslist) AND visible=1 AND (sticky=1 OR sticky=0) ORDER BY threadid DESC LIMIT 1");
if ($thread=$DB_site->query_first("SELECT threadid FROM thread WHERE forumid IN (0$forumslist) AND visible=1 ORDER BY threadid DESC LIMIT 1")) {
header("Location: showthread.php?s=$session[sessionhash]&threadid=$thread[threadid]");
exit;
}
}
}