* Date: 2026-5-20 */ if (!defined('ROOT_PATH')) { exit('Access Denied'); } require_once __DIR__ . '/../_functions.php'; if (empty($channel) && !empty($id)) { $channel = $db->fetch("SELECT * FROM {$db->table('channel')} WHERE id = ? AND is_show = 1 LIMIT 1", [intval($id)]); } if (empty($channel)) { echo 'Channel not found'; return; } $pageTitle = (string) ($channel['channel_name'] ?? '栏目列表'); $channelType = intval($channel['channel_type'] ?? 1); $topChannel = intval($channel['parent_id'] ?? 0) > 0 ? k607_channel_by_id($db, intval($channel['parent_id'])) : $channel; if (!$topChannel) { $topChannel = $channel; } $sideChannels = k607_sibling_channels($db, $channel); if (empty($sideChannels)) { $sideChannels = $db->fetchAll("SELECT * FROM {$db->table('channel')} WHERE channel_type = ? AND is_show = 1 ORDER BY list_order ASC, id ASC", [$channelType]); } $heroImage = k607_channel_hero_image($topChannel, !empty($slides[0]['litpic']) ? $slides[0]['litpic'] : ''); $currentPage = max(1, intval($_GET['page'] ?? 1)); $filterChannelId = intval($_GET['channel_id'] ?? 0); $targetChannelId = $filterChannelId > 0 ? $filterChannelId : intval($channel['id']); $pageSize = in_array($channelType, [1, 5, 9], true) ? 8 : 9; $baseUrl = getUrl('channel', intval($channel['id']), (string) ($channel['channel_dir'] ?? '')); $items = []; $total = 0; $pageContent = ''; switch ($channelType) { case 1: $queryIds = [intval($targetChannelId)]; $children = $db->fetchAll("SELECT id FROM {$db->table('channel')} WHERE parent_id = ? AND is_show = 1", [intval($targetChannelId)]); foreach ($children as $child) { $queryIds[] = intval($child['id']); } $queryIds = array_values(array_unique(array_filter($queryIds))); $ph = implode(',', array_fill(0, count($queryIds), '?')); $countRow = $db->fetch("SELECT COUNT(*) AS total FROM {$db->table('article')} WHERE status = 1 AND channel_id IN ({$ph})", $queryIds); $total = intval($countRow['total'] ?? 0); $offset = ($currentPage - 1) * $pageSize; $items = $db->fetchAll("SELECT a.*, c.channel_name FROM {$db->table('article')} a LEFT JOIN {$db->table('channel')} c ON a.channel_id = c.id WHERE a.status = 1 AND a.channel_id IN ({$ph}) ORDER BY a.create_time DESC LIMIT {$offset}, {$pageSize}", $queryIds); break; case 2: $queryIds = [intval($targetChannelId)]; $children = $db->fetchAll("SELECT id FROM {$db->table('channel')} WHERE parent_id = ? AND is_show = 1", [intval($targetChannelId)]); foreach ($children as $child) { $queryIds[] = intval($child['id']); } $queryIds = array_values(array_unique(array_filter($queryIds))); $ph = implode(',', array_fill(0, count($queryIds), '?')); $countRow = $db->fetch("SELECT COUNT(*) AS total FROM {$db->table('product')} WHERE status = 1 AND channel_id IN ({$ph})", $queryIds); $total = intval($countRow['total'] ?? 0); $offset = ($currentPage - 1) * $pageSize; $items = $db->fetchAll("SELECT p.*, c.channel_name FROM {$db->table('product')} p LEFT JOIN {$db->table('channel')} c ON p.channel_id = c.id WHERE p.status = 1 AND p.channel_id IN ({$ph}) ORDER BY p.create_time DESC LIMIT {$offset}, {$pageSize}", $queryIds); break; case 3: $pageInfo = $db->fetch("SELECT * FROM {$db->table('page')} WHERE channel_id = ? ORDER BY id DESC LIMIT 1", [intval($channel['id'])]); $pageContent = (string) ($pageInfo['page_content'] ?? ($pageInfo['content'] ?? '')); break; case 4: $countRow = $db->fetch("SELECT COUNT(*) AS total FROM {$db->table('image')} WHERE status = 1 AND channel_id = ?", [intval($targetChannelId)]); $total = intval($countRow['total'] ?? 0); $offset = ($currentPage - 1) * $pageSize; $items = $db->fetchAll("SELECT * FROM {$db->table('image')} WHERE status = 1 AND channel_id = ? ORDER BY create_time DESC LIMIT {$offset}, {$pageSize}", [intval($targetChannelId)]); break; case 5: $countRow = $db->fetch("SELECT COUNT(*) AS total FROM {$db->table('download')} WHERE status = 1 AND channel_id = ?", [intval($targetChannelId)]); $total = intval($countRow['total'] ?? 0); $offset = ($currentPage - 1) * $pageSize; $items = $db->fetchAll("SELECT * FROM {$db->table('download')} WHERE status = 1 AND channel_id = ? ORDER BY create_time DESC LIMIT {$offset}, {$pageSize}", [intval($targetChannelId)]); break; case 7: $countRow = $db->fetch("SELECT COUNT(*) AS total FROM {$db->table('video')} WHERE status = 1 AND channel_id = ?", [intval($targetChannelId)]); $total = intval($countRow['total'] ?? 0); $offset = ($currentPage - 1) * $pageSize; $items = $db->fetchAll("SELECT * FROM {$db->table('video')} WHERE status = 1 AND channel_id = ? ORDER BY create_time DESC LIMIT {$offset}, {$pageSize}", [intval($targetChannelId)]); break; case 9: $countRow = $db->fetch("SELECT COUNT(*) AS total FROM {$db->table('recruit')} WHERE status = 1 AND channel_id = ?", [intval($targetChannelId)]); $total = intval($countRow['total'] ?? 0); $offset = ($currentPage - 1) * $pageSize; $items = $db->fetchAll("SELECT r.*, c.channel_name FROM {$db->table('recruit')} r LEFT JOIN {$db->table('channel')} c ON r.channel_id = c.id WHERE r.status = 1 AND r.channel_id = ? ORDER BY r.create_time DESC LIMIT {$offset}, {$pageSize}", [intval($targetChannelId)]); break; default: $countRow = $db->fetch("SELECT COUNT(*) AS total FROM {$db->table('article')} WHERE status = 1 AND channel_id = ?", [intval($targetChannelId)]); $total = intval($countRow['total'] ?? 0); $offset = ($currentPage - 1) * $pageSize; $items = $db->fetchAll("SELECT a.*, c.channel_name FROM {$db->table('article')} a LEFT JOIN {$db->table('channel')} c ON a.channel_id = c.id WHERE a.status = 1 AND a.channel_id = ? ORDER BY a.create_time DESC LIMIT {$offset}, {$pageSize}", [intval($targetChannelId)]); break; } $totalPages = max(1, (int) ceil($total / max($pageSize, 1))); require_once __DIR__ . '/../_header.php'; ?>

当前位置:首页 /
暂无内容
'; ?>
暂无内容
暂无下载内容

部门: 地点: 学历: 经验:
暂无招聘信息
<?php echo htmlspecialchars($item['title']); ?>
暂无内容
1): ?>