如何在MySQL/PHP中实现类似PhpMyAdmin的指定输出效果?
实现类似目标界面的方法
1. 先修正PHP代码的小错误
你现在的代码里多执行了一次mysqli_fetch_assoc,会直接跳过第一条数据,把这行多余的代码删掉就行:
$start = mysqli_query($conn, $sql); if (mysqli_num_rows($start) > 0) { // 删掉这行:$row = mysqli_fetch_assoc($start); while($row = mysqli_fetch_assoc($start)) { // 后续修改输出结构 } }
2. 调整HTML输出结构,适配样式
原来用<p>标签输出太零散,换成列表或者卡片容器,更容易做出规整的效果。比如用无序列表:
$start = mysqli_query($conn, $sql); if (mysqli_num_rows($start) > 0) { echo '<ul class="game-list">'; // 外层容器 while($row = mysqli_fetch_assoc($start)) { echo '<li class="game-item">'.$row['game'].'</li>' ; } echo '</ul>'; }
3. 加CSS样式实现视觉效果
通过CSS可以把列表改成类似目标界面的样式(比如圆角卡片、hover高亮、合适的间距),在页面的<head>里添加这段样式:
.game-list { list-style: none; padding: 0; max-width: 600px; margin: 20px auto; } .game-item { padding: 12px 18px; background: #f5f5f5; border-radius: 8px; margin-bottom: 10px; cursor: pointer; transition: background 0.2s; } .game-item:hover { background: #e0e0e0; }
4. 如果目标是分组展示(比如按游戏类别)
要是目标界面是按分类分组的列表,得先确保你的MySQL查询包含分类字段,然后在PHP里做分组处理:
MySQL查询示例(假设表中有category字段)
SELECT game, category FROM 你的表名 ORDER BY category
PHP分组输出代码
$start = mysqli_query($conn, $sql); if (mysqli_num_rows($start) > 0) { $currentCat = ''; while($row = mysqli_fetch_assoc($start)) { if ($row['category'] != $currentCat) { // 输出分类标题 echo '<h3 class="category-title">'.$row['category'].'</h3>'; $currentCat = $row['category']; echo '<ul class="game-list">'; } echo '<li class="game-item">'.$row['game'].'</li>' ; } echo '</ul>'; }
对应的分类标题样式:
.category-title { margin-top: 25px; color: #333; font-size: 1.2rem; padding-left: 10px; border-left: 4px solid #2196F3; }
内容的提问来源于stack exchange,提问作者HIHAWA
相关产品推荐
相关产品推荐

