网站表格横向自动排列及边框失效问题求助(CSS/PHP)
问题解决:表格边框失效 + 每行展示3个笔记本产品
一、修复表格边框不生效的问题
你的代码里有两个导致边框不显示的问题:
- HTML表格的
border属性用了中文单引号’,浏览器无法识别,必须换成英文单引号'; - 仅靠HTML的
border属性在现代浏览器里样式可能不完整,建议用CSS统一设置表格、单元格的边框样式。
修改方案:
- PHP里的表格标签改为:
echo "<table border='1'>"; - 在CSS中补充表格边框样式:
table{ text-align: center; position: absolute; left:10%; top:19%; width: 80%; /* 调整宽度以容纳3列 */ border-collapse: collapse; /* 合并边框,避免双线条 */ } td{ border: 1px solid #ccc; /* 设置单元格边框 */ padding: 15px; /* 增加内边距,让内容更舒展 */ }
二、实现每行展示3个笔记本产品
当前代码每个笔记本占一整行,要实现每行3个产品,需要添加计数器控制换行逻辑,每输出3个产品就自动开启新行。
修改后的完整PHP代码:
if(mysqli_num_rows($laksana_pilihan)==0){ # papar Tiada barangan yang telah direkodkan echo "Tiada barangan yang telah direkodkan"; } else{ # jika terdapat barangan yang ditemui # papar dalam bentuk jadual. echo "<table border='1'>"; echo "<tr>"; // 初始化第一行 $count = 0; // 计数器,记录当前行的产品数量 # Pembolehubah $n mengambil data yang ditemui while($n=mysqli_fetch_array($laksana_pilihan)){ $count++; # 每3个产品换一行 if($count > 3){ echo "</tr><tr>"; $count = 1; } # memaparkan semula data diambil oleh pembolehubah $n echo " <td> <img width='50%' src='img/" . $n['gambar'] . "'><br> <h3><b>" . $n['jenama_barang'] . "</b></h3><br> <h6>" . $n['nama_barang'] . "<br> " . $n['cpu'] . "<br> " . $n['gpu'] . "<br> RM" . $n['harga'] . "</h6> </td>"; } echo "</tr>"; // 关闭最后一行 echo"</table>"; }
代码修改说明:
- 新增
$count计数器,每次循环递增; - 当计数器超过3时,关闭当前
<tr>并新建一行,重置计数器; - 把原来每个产品的两个
<td>合并成一个<td>,每个产品作为独立单元格,实现一行3列布局; - 修正了原代码里的标签嵌套错误(
h3/b、h6/td的闭合顺序)。
内容的提问来源于stack exchange,提问作者dxrkraii
相关产品推荐
相关产品推荐

