使用php在html表中正确显示数据

时间:2015-04-15 16:22:01

标签: php html

Hello这个表从数据库中提取数据。

<h2>Weekly appointment list</h2>

      <table class="table table-bordered table-hover">
        <thead>

          <tr>
            <th>Week Day</th>
            <th>Customers</th>
            <th>Selected service</th>
            <th>Time</th>
          </tr>
        </thead>

        <tbody>
          <tr>
            <td>Monday</td>


                <?php 
                    $date = date('Y-m-d', strtotime("this Monday"));
                    $sql = "SELECT * FROM appointment WHERE weekday = '$date'";
                    $query = mysqli_query($db, $sql);
                    $numRows = mysqli_num_rows($query);

                    if ($numRows > 0) {
                    while ($row = mysqli_fetch_array($query)) { ?>

                        <td><?php echo $row['user_name'] ?></td>
                        <td><?php echo $row['service'] ?></td>
                        <td><?php echo $row['time'] ?></td>

                    <?php } 
                        }
                     ?>
            </tr>

        </tbody>

但问题是当我有两个来自echo $row['user_name'] //user x, user y的用户时,表行会中断并显示如下内容:image link。看到表格行坏了。我想以这种方式展示:expected table structure。所有客户都显示在客户列的特定日期行中。如何修复我的代码或表示方式。提前致谢。

2 个答案:

答案 0 :(得分:2)

将您的sql查询更改为group concat用户名,服务和时间。

 $sql ="SELECT group_concat(user_name) as user_name,group_concat(service) as service ,group_concat(time) as time FROM appointment WHERE weekday = '$date'";

此查询将返回一行,其中包含一行中的所有用户和服务信息。

答案 1 :(得分:0)

您希望合并this

之类的内容

有这样的事情:

$res  = mysql_query(/**/);
$rows = array();
while($row = mysql_fetch_assoc($res)){
  array_push($rows, $row);
}

如果你挣扎,请告诉我。