php - PHP 忽略一些标签返回不正确的 HTML 代码
问题描述
我有以下代码来显示数据库中的内容。while 循环应该在表格行中显示数据。输出不同:来自数据库的数据显示在表格之前。while 似乎运行并忽略 html 标签,然后再次运行并忽略变量。
PHP代码:
// Instantiate database
$database = new Database();
$db = $database->getConnection();
// List transactions without bundles
$query = "SELECT * FROM stock_trx WHERE bundleId IS NULL";
$statement = $db->prepare($query);
$statement->execute();
$n = $statement->rowCount();
if($n > 0){
echo "<table>
<thead>
<tr>
<th>Select</th>
<th>Date</th>
<th>Type</th>
<th>Quantity</th>
<th>Ticker</th>
<th>Amount</th>
<th>Currency</th>
</tr>
</thead>
<tbody>";
// Retrieve table content
while($row = $statement->fetch(PDO::FETCH_ASSOC)){
// Extract row
extract($row);
echo "<tr>".$id."</tr>";
echo "<tr>".$date."</tr>";
echo "<tr>".$type."</tr>";
echo "<tr>".$qty."</tr>";
echo "<tr>".$ticker."</tr>";
echo "<tr>".$amount."</tr>";
echo "<tr>".$currency."</tr>";
}
echo "</tbody></table>";
} else {
echo "No transaction";
}
HTML 输出:
<html>
<body>
12020-05-13 00:00:00BUYTEST1000022020-05-19 00:00:00SELTEST1200032020-05-24 00:00:00DIVTEST250<table>
<thead>
<tr>
<th>Select</th>
<th>Date</th>
<th>Type</th>
<th>Quantity</th>
<th>Ticker</th>
<th>Amount</th>
<th>Currency</th>
</tr>
</thead>
<tbody><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
</tbody>
</table>
</body></html>
谢谢
解决方案
您需要行内的行<tr>
和单元格<td>
:
while($row = $statement->fetch(PDO::FETCH_ASSOC)){
// Extract row
extract($row);
echo "<tr>"; // start row
echo "<td>".$id."</td>";
echo "<td>".$date."</td>";
echo "<td>".$type."</td>";
echo "<td>".$qty."</td>";
echo "<td>".$ticker."</td>";
echo "<td>".$amount."</td>";
echo "<td>".$currency."</td>";
echo "</tr>"; // end row
}
echo "</tbody></table>";
与其他答案相反,我会这样做,因为您使用的是双引号:
echo "<tr>"; // start row
echo "<td>$id</td>";
// etc...
或合并为一条,甚至一条线:
echo "
<tr>
<td>$id</td>
<td>$date</td>
<td>$type</td>
<td>$qty</td>
<td>$ticker</td>
<td>$amount</td>
<td>$currency</td>
</tr>";
推荐阅读
- php - 如何在 PHP Simple XML 中集成一个链接来解析
- java - 如何在JTable(JAVA)中显示FK ID的引用
- css - 如何在Foundation XY-grid(flexbox)中均匀分布单元格高度
- deep-learning - 关于二维人体姿态检测的两个问题
- python - 使用 pandas.read_csv 时如何忽略一些不在引号内的逗号?
- marker - Mapbox GL JS 标记超出地图
- android - 更新数据库后刷新活动或列表视图
- postgresql - Gorm 无法连接到本地 postgres 数据库
- python - TypeError:“numpy.float64”对象不能被解释为整数并且转换为 int 失败
- stata - 为 pid 的所有值重塑数据