php mysql 显示表中的记录

标签 php mysql sql

我正在做一个可用性系统。我需要在表格中显示记录。

我的系统基本上是关于房地产的,它跟踪特性是否可用。示例是我的公寓有 20 层,每层有 10 个单元,因此我需要循环楼层数并在特定楼层下显示每个单元。

一楼 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 二楼| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

这是我迄今为止尝试过的:

<table class="table table-bordered">
            <?php
                for($i=0; $row3 = $stmt3->fetch(); $i++){
                  $floor = $row3['floor'];
            ?>
          <tr>
            <td><?php echo $floor; ?></td>
            <?php
                for($i=0; $row4 = $stmt4->fetch(); $i++){
                  $unit_code = $row4['unit_code'];
            ?>
            <td><?php echo $unit_code; ?></td>
            <?php 
              }
            ?>

          </tr>
          <?php 
            }
          ?>
        </table>

但只是显示一楼的所有记录。

这就是实际发生的事情:

1st flr| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 
2nd flr

实现我的需求的正确方法是什么?有任何想法吗?我将非常感谢您的帮助。谢谢。

更新:

  $stmt3 = $conn->prepare( "SELECT DISTINCT floor
  FROM tblunitsmaster 
  WHERE project_code = :code" );
  $stmt3->execute(array(':code' => $code));


  $stmt4 = $conn->prepare( "SELECT unit_code
  FROM tblunitsmaster 
  WHERE project_code = :code
  AND floor = :floor
  AND sub_project_code = 'SUB-AX0001'" );

最佳答案

我不知道你是否已经解决了,但是Satish Sharma代码第 6 行有拼写错误。该行应该是

$floor = $row3['floor'];

这将解决您的问题。我真的应该对答案发表评论,但没有足够的分数。

更新了下面的代码

更新: 每个楼层都有自己的一组单元的最新更新。

<?php
$code = 'so';
$stmt3 = $pdo->prepare( "SELECT DISTINCT floor
FROM tblunitsmaster 
WHERE project_code = :code" );
$stmt3->execute(array(':code' => $code));


$stmt4 = $pdo2->prepare( "SELECT unit_code
FROM tblunitsmaster 
WHERE project_code = :code
AND floor = :floor
AND sub_project_code = 'SUB-AX0001'" );

?>
<table border="1px" class="table table-bordered">
    <?php
    $rows3 = $stmt3->fetchAll();

    foreach ($rows3 as $row3) {
        $floor = $row3['floor'];
        ?>
        <tr>
            <td><?php echo $floor; ?></td>
            <?php
            $stmt4->execute(array(':code' => $code, ':floor' => $floor));
            $rows4 = $stmt4->fetchAll();            
            foreach ($rows4 as $row4) {
                $unit_code = $row4['unit_code'];
                ?>
                <td><?php echo $unit_code; ?></td>
                <?php
            }
            ?>

        </tr>
        <?php
    }
    ?>
</table>

输出:

1st flr 1   2   3   4   5   6   7   8   9   10
2nd flr 1   2   3   4   5   6   7   8   9   10
3rd flr 1   2   3   4   5   6   7   8   9   10

关于php mysql 显示表中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22007345/

相关文章:

java - 如何按常规字段映射表?

mysql - 如何从 MySQL 存储用户信息以供将来使用

sql - 为什么SQL的语法是由内而外的?

php - MySQL 比较和删除大表~30m 记录

sql - 为每个用户选择最新条目,而不使用 group by (postgres)

php - hadoop流无效的DFS目录名称

php - 使用 php 从数据库获取登录用户名

mysql - 查找具有相同特征的元素

php - 您可以在 Google Analytics 中存储表单选择吗?

php - PHP 的 LESS 编译器