在PHP while循环中将Div转换为HTML表格的实现方法
实现方案:将Div结构文章列表改为标准HTML表格
核心思路
- 替换外层容器:用语义化的
<table>替代原.library-main-panelDiv,添加<thead>定义表头,<tbody>承载数据行,保证表格结构符合HTML标准。 - 内容映射:每篇文章对应表格的一行(
<tr>),原Div内的标题、作者、描述、阅读链接分别对应一个单元格(<td>)。 - 保留原有业务逻辑:数据查询、空描述判断、链接跳转逻辑完全复用,仅调整HTML输出结构。
- 无CSS样式替代:原标题的突出显示用
<strong>标签实现,不依赖任何CSS代码。
修改后的完整代码
$html = '<table>' . "\n"; // 添加表头 $html .= '<thead>' . "\n"; $html .= '<tr>' . "\n"; $html .= '<th>Rubrik</th>' . "\n"; // 对应原标题(瑞典语) $html .= '<th>Författare</th>' . "\n"; // 对应原作者栏 $html .= '<th>Beskrivning</th>' . "\n"; // 对应原描述栏 $html .= '<th>Åtgärd</th>' . "\n"; // 操作栏(阅读更多) $html .= '</tr>' . "\n"; $html .= '</thead>' . "\n"; $html .= '<tbody>' . "\n"; while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) { $id = $result["id"]; $headline = $result["headline"]; $author = $result["author"]; $description = $result["description"]; // 每篇文章对应一行 $html .= '<tr>' . "\n"; // 标题单元格,用strong替代原CSS样式突出显示 $html .= '<td><strong>' . $headline . '</strong></td>' . "\n"; // 作者单元格 $html .= '<td>Skriven av ' . $author . '</td>' . "\n"; // 描述单元格,为空时显示空内容 $html .= '<td>' . ($description ?: '') . '</td>' . "\n"; // 阅读链接单元格 $html .= '<td><a href="index.php?page=article&num=' . $id . '" target="_top">Läs mer</a></td>' . "\n"; $html .= '</tr>' . "\n"; } $html .= '</tbody>' . "\n"; $html .= '</table>' . "\n"; echo $html;
内容的提问来源于stack exchange,提问作者ingmar leifsson
相关产品推荐
相关产品推荐

