PDO输出打印在表格中

时间:2014-11-30 21:14:01

标签: php pdo

我正在尝试在表格中打印,但我不确定如何使用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;与我在表中回应的尝试有关。

1 个答案:

答案 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>