我正在尝试在表格中打印,但我不确定如何使用PDO。继承人我的尝试。
require_once('connect.php');
$sql = "SELECT CourseID, Module_Name,ModuleID, Module_Code, Module_Year FROM
coursemodule ORDER BY ModuleID ASC";
$stmt = $db->prepare($sql);
$stmt->bindParam(':ModuleID', $CourseID, PDO::PARAM_INT);
$stmt->execute();
while ($output = $stmt->fetch(PDO::FETCH_OBJ)) {
echo "<p>" . $output->Module_Name . " " . $output->Module_Code . "</p>\n";
}
和
<div class="table-responsive">
<table class="table table-bordered table-striped table-hover table-condensed">
<thead>
<tr>
<th>Modules from Current Course</th>
<th>Modules from New Course</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
我知道我必须存储查询中的数据然后将其打印在表格中,但任何尝试都无处可寻。有人可以帮忙吗?
编辑最新尝试
try
{
$sql = "SELECT * FROM coursemodule WHERE ModuleID=?";
$stmt = $db->prepare($sql);
$stmt->execute(array(
$_POST['ModuleID']
));
$result = $stmt->fetchAll();
?>
<h1>Course Modules</h1>
<div class="table-responsive">
<table class="table table-bordered table-striped table-hover table-condensed">
<thead>
<tr>
<th>ID</th>
<th colspan="3"></th>
</tr>
<?php
foreach ($result as $row)
{
<tr>
<td>echo {$row['ModuleID']}</td>
<td>
} // End Foreach
?>
</tbody>
</table>
</div>
获取错误&#39;解析错误:语法错误,意外&#39;&lt;&#39;&#39;&#39;与我在表中回应的尝试有关。
答案 0 :(得分:1)
由于查询没有问题,因此为了填充表,您需要向其中添加行和列。例如,你可以这样做:
<table class="table table-bordered table-striped table-hover table-condensed">
<thead>
<tr>
<th>Modules from Current Course</th>
<th>Modules from New Course</th>
</tr>
</thead>
<tbody>
<?php foreach ($modules as $module): ?>
<tr>
<td><?php echo $module['Module_Name']; ?></td>
<td><?php echo $module['Module_Code']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
不要将SQL语句放在与放置视图代码相同的位置(这将是未来维护的噩梦,并且是不进入的习惯)。在我的解决方案中,我假设您将查询中的结果集分配给名为$modules
的变量。
请参阅fetchAll
的文档:
http://php.net/manual/en/pdostatement.fetchall.php
注意您需要根据自己的需要调整我的代码段,我只是向您展示一个用行和列填充表的示例。
<强>更新强> 尝试在上次尝试中更改表生成代码:
<div class="table-responsive">
<table class="table table-bordered table-striped table-hover table-condensed">
<thead>
<tr>
<th>ID</th>
<th colspan="3"></th>
</tr>
<tbody>
<?php foreach ($result as $row): ?>
<tr>
<td><?php echo $row['ModuleID']; ?></td>
<td colspan="3">
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>