/** *子栏目 **/ function ListMoreSp() { global $db, $pre, $fid, $webdb, $fidDB; $order = 'list'; $order && ($_order = " ORDER BY {$order} DESC "); $rows = 4; $leng = 30; $query = $db->query("SELECT * FROM {$pre}spsort WHERE fup={$fid} ORDER BY list DESC"); while ($rs = $db->fetch_array($query)) { $SQL = "WHERE fid={$rs['fid']} {$_order} LIMIT {$rows}"; $which = '*'; $rs[article] = list_special($SQL, $which, $leng); //如果本栏目不能获取到专题,将获取其所有子栏目的专题 if (!$rs[article]) { $array_fid = Get_SonFid("{$pre}spsort", $rs[fid]); if ($array_fid) { $SQL = "WHERE fid IN (" . implode(',', $array_fid) . ") {$_order} LIMIT {$rows}"; $rs[article] = list_special($SQL, $which, $leng); } } $rs[logo] && ($rs[logo] = tempdir($rs[logo])); $listdb[] = $rs; } return $listdb; }
/** *大分类的子栏目 **/ function ListMoreSort() { global $db, $pre, $fid, $webdb, $fidDB, $Fid_db; //排序 if ($fidDB[config][sonListorder] == 1) { $order = 'A.list'; } elseif ($fidDB[config][sonListorder] == 2) { $order = 'A.hits'; } elseif ($fidDB[config][sonListorder] == 3) { $order = 'A.lastview'; } elseif ($fidDB[config][sonListorder] == 4) { $order = 'rand()'; } else { $order = 'A.list'; } $_order = " ORDER BY {$order} DESC "; //显示几行 if ($fidDB[config][sonTitleRow] > 0) { $rows = $fidDB[config][sonTitleRow]; } elseif ($webdb[ListSonRows] > 0) { $rows = $webdb[ListSonRows]; } else { $rows = 10; } //每个标题显示几个字 if ($fidDB[config][sonTitleLeng] > 0) { $leng = $fidDB[config][sonTitleLeng]; } elseif ($webdb[ListSonLeng] > 0) { $leng = $webdb[ListSonLeng]; } else { $leng = 30; } if (!$webdb[viewNoPassArticle]) { $SQL_yz = ' AND A.yz=1 '; } $query = $db->query("SELECT * FROM {$pre}sort WHERE fup={$fid} AND forbidshow!=1 ORDER BY list DESC LIMIT 50"); while ($rs = $db->fetch_array($query)) { $erp = $Fid_db[iftable][$rs[fid]] ? $Fid_db[iftable][$rs[fid]] : ''; $SQL = "A LEFT JOIN {$pre}reply{$erp} R ON A.aid=R.aid WHERE R.topic=1 AND A.fid={$rs['fid']} {$SQL_yz} {$_order} LIMIT {$rows}"; $which = 'A.*,R.content'; $rs[article] = list_article($SQL, $which, $leng, $erp); //如果本栏目不能获取到文章,将获取其所有子栏目的文章 if (!$rs[article]) { $array_fid = Get_SonFid("{$pre}sort", $rs[fid]); if ($array_fid && count($array_fid) < 50) { //分表后,如果子栏目不是同一模型的话.将不能获取资料 $SQL = "A LEFT JOIN {$pre}reply{$erp} R ON A.aid=R.aid WHERE R.topic=1 AND A.fid IN (" . implode(',', $array_fid) . ") {$SQL_yz} {$_order} LIMIT {$rows}"; $rs[article] = list_article($SQL, $which, $leng, $erp); } } $rs[logo] && ($rs[logo] = tempdir($rs[logo])); $listdb[] = $rs; } return $listdb; }
function Get_SonFid($table, $fid = 0) { global $db; $query = $db->query("SELECT fid,sons FROM {$table} WHERE fup={$fid}"); while ($rs = $db->fetch_array($query)) { if ($rs[sons]) { $array2 = Get_SonFid($table, $rs[fid]); if ($array2) { foreach ($array2 as $key => $value) { $array[] = $value; } } } $array[] = $rs[fid]; } return $array; }