Example #1
0
/**
*子栏目
**/
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;
}
Example #2
0
/**
*大分类的子栏目
**/
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;
}
Example #3
0
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;
}