【发布时间】:2016-02-11 04:16:33
【问题描述】:
我对 html 和 php 还很陌生,我尝试了一些尝试来实现我想要的东西,但它从来没有奏效。
这是一个购物车,我正在尝试使用 php 在表格中显示来自 mysql 的数据,如果我没有其他要在表格中显示的元素($value 和 $ sub) 不存储在 mysql 中而是计算。
当我不尝试在表格中显示它时,它一切正常,当我添加表格时,我只能让“名称”显示在表格中,如果我尝试包含其他任何内容,它会失败。
下面的代码在表名列下显示'name',接下来要显示的将是数量下的'$value'等等(还没有添加更多列)
foreach($_SESSION as $name => $value) {
if ($value>0) {
if (substr($name, 0, 5)=='cart_') {
$id = substr($name, 5, (strlen($name)-5));
$get = mysql_query('SELECT id_product, name, price FROM elec_guit WHERE id_product='.($id));
while ($get_row = mysql_fetch_assoc($get)) {
$sub = $get_row['price']*$value;
?>
<div class="table">
<table>
<tr>
<td>Name</td>
<td>Quantity</td>
</tr>
<tr>
<?php echo '<td>' .$get_row['name']. '</td>' .$value. ' @ $'.number_format($get_row['price'], 2). ' = $'.number_format($sub, 2).' <a href="cart.php?remove='.$id.'">[-]</a> <a href="cart.php?add='.$id.'">[+]</a> <a href="cart.php?delete='.$id.'" >[Delete]</a><br />';
}
}
$total += $sub;
}
}
?>
</tr>
</table>
【问题讨论】:
-
首先你的表格标签应该在循环之外,它会弄乱布局并且会一次又一次地创建表格。
-
是的,开始表标签需要在循环开始之前出现。此外,表中的每条数据都应该在
<td>...</td>标签内,而这些标签本身也在<tr>...</tr>标签内。如果您的表中有两列,那么每个表行 (<tr>...</tr>) 应该正好包含两个<td>...</td>元素。在您的 echo 语句中,您有一些不在<td>元素内的数据。表格中不能有不在<td>元素内的文本。解决这个问题,你会没事的。请参阅w3schools.com/html/html_tables.asp 以尝试一些表格示例。 -
查看实际情况的一种简单方法是在网络浏览器中打开您的页面并选择“查看源代码”以查看 html 代码。