当来自while循环的echo时,html表混淆了

时间:2016-09-09 16:18:00

标签: php html mysql

HTML表在while循环中有回声时变得混乱。贝娄附加了输出图像。如何获得具有循环结果的普通表?请注意我通过手动日期搜索来获取表格数据。

<?php
if (isset($_POST['submit_date'])) {
    if (empty($_POST['m_date'])) {
        echo '<div class="alert alert-danger">Error: Select date then search</div>';
    }else{
        $m_date = $_POST['m_date'];
        $q = mysqli_query($conn, "SELECT * FROM bazar_dor WHERE m_date='$m_date'");
echo '<table style="width:100%">
<tr>
  <th>Category Name</th>
  <th>Price</th>
  </tr>
<tr>
';

        while ($row=mysqli_fetch_array($q)) {
            $cat_name = $row['cat_name'];
            $price = $row['price'];
            echo '<td>'.$cat_name.'</td><td>'.$price.'</td>';
        }

echo '</tr></table>';

    }
}
?> 

the output i am getting from this code

2 个答案:

答案 0 :(得分:0)

看起来您还需要在循环中包含表行(<tr>)。您当前的代码会输出同一行中的所有数据,这无疑会破坏表格。

echo '<table style="width:100%">
        <tr>
          <th>Category Name</th>
          <th>Price</th>
        </tr>';

while ($row=mysqli_fetch_array($q)) {
  $cat_name = $row['cat_name'];
  $price = $row['price'];
  echo '<tr><td>'.$cat_name.'</td><td>'.$price.'</td></tr>';
}

echo '</table>';

答案 1 :(得分:-1)

用这个

替换你的cede
    <?php if (isset($_POST['submit_date'])) { if    (empty($_POST['m_date'])) { echo '<div
        class="alert alert-danger">Error: Select date then search</div>'; }else{ $m_date = $_POST['m_date']; 
$q =    mysqli_query($conn, "SELECT * FROM bazar_dor WHERE    m_date='$m_date'"); 
echo '<table style="width:100%"> <tr>
         <th>Category Name</th>   <th>Price</th>   </tr>  ';
while    ($row=mysqli_fetch_array($q)) { $cat_name = $row['cat_name']; 
$price    = $row['price']; echo '<tr><td>'.$cat_name.'</td><td>'.$price.'</td><\tr>'; 
} echo    '</table>'; 
} } ?>