query($sqlApp); if (!$resultApp) { die("

数据库查询错误

错误信息: " . htmlspecialchars($conn->error) . "

SQL语句: " . htmlspecialchars($sqlApp) . "

"); } $app = $resultApp->fetch_assoc(); $developerId = $app['developer_id'] ?? 0; $developerName = ($developerId == 0) ? '管理员' : ($app['developer_name'] ?? '未知开发者'); if (!$app) { die("

错误:应用不存在

找不到ID为 $appId 的应用。请检查ID是否正确。

"); } // 处理评价加载请求 if (isset($_GET['action']) && $_GET['action'] === 'load_reviews') { header('Content-Type: text/html; charset=UTF-8'); while ($review = $resultReviews->fetch_assoc()) { ?>
评分: '; for ($i = 1; $i <= 5; $i++) { if ($i <= floor($rating)) { echo ''; } elseif ($i - $rating <= 0.5) { echo ''; } else { echo ''; } } echo '

'; ?>

评价时间:

query($sqlVersions); // 获取App预览图片 $sqlImages = "SELECT * FROM app_images WHERE app_id = $appId"; $resultImages = $conn->query($sqlImages); // 获取评价总数 $sqlReviewCount = "SELECT COUNT(*) as total FROM reviews WHERE app_id = $appId"; $resultReviewCount = $conn->query($sqlReviewCount); $reviewCount = $resultReviewCount->fetch_assoc()['total']; // 分页参数 $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $limit = 10; $offset = ($page - 1) * $limit; $hasMore = ($page * $limit) < $reviewCount; // 获取评价信息 $sqlReviews = "SELECT * FROM reviews WHERE app_id = $appId ORDER BY created_at DESC LIMIT $limit OFFSET $offset"; $resultReviews = $conn->query($sqlReviews); // 获取评分分布 $sqlRatingDistribution = "SELECT rating, COUNT(*) as count FROM reviews WHERE app_id = $appId GROUP BY rating ORDER BY rating DESC"; $resultRatingDistribution = $conn->query($sqlRatingDistribution); $ratingDistribution = []; while ($row = $resultRatingDistribution->fetch_assoc()) { $ratingDistribution[$row['rating']] = $row['count']; } // 处理评价提交 if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['rating'])) { $rating = $_POST['rating']; $ipAddress = $_SERVER['REMOTE_ADDR']; $insertSql = "INSERT INTO reviews (app_id, rating) VALUES ($appId, $rating)"; if ($conn->query($insertSql) === TRUE) { header("Location: app.php?id=$appId"); exit; } } ?> <?php echo $app['name']; ?> - <?php echo APP_STORE_NAME; ?>

年龄分级:

年龄分级说明

适用平台: '', 'macos' => '', 'linux' => '', 'android' => '', 'ios' => '' ]; $platformMap = [ 'android' => 'Android', 'ios' => 'iOS', 'windows_win7' => 'Windows(Windows 7以上)', 'windows_xp' => 'Windows XP', 'macos' => 'MacOS', 'linux_arch' => 'Linux(适用于Arch Linux)', 'linux_ubuntu' => 'Linux(适用于Ubuntu)', ]; $platformTexts = []; foreach ($platforms as $platform) { $icon = $platformIcons[strtolower($platform)] ?? ''; $readableName = $platformMap[strtolower($platform)] ?? ucfirst($platform); $platformTexts[] = $icon . ' ' . $readableName; } echo implode(', ', $platformTexts); ?>

评分: /5

开发者: 管理员

版本历史

fetch_assoc()): ?>

评价

fetch_assoc()): ?>
评分: '; for ($i = 1; $i <= 5; $i++) { if ($i <= floor($rating)) { echo ''; } elseif ($i - $rating <= 0.5) { echo ''; } else { echo ''; } } echo '

'; ?>

评价时间:

评分分布

提交评价