Php 从while循环回显时html表混淆

Php 从while循环回显时html表混淆,php,html,mysql,Php,Html,Mysql,当在while循环中有echo时,HTML表变得混乱。贝娄附上了输出图像。如何获得具有循环结果的法线表?请注意,我是通过手动日期搜索得到表数据的 <?php if (isset($_POST['submit_date'])) { if (empty($_POST['m_date'])) { echo '<div class="alert alert-danger">Error: Select date then search</div>';

当在while循环中有echo时,HTML表变得混乱。贝娄附上了输出图像。如何获得具有循环结果的法线表?请注意,我是通过手动日期搜索得到表数据的

<?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>';

    }
}
?> 


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

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>';
echo'
类别名称
价格
';
while($row=mysqli\u fetch\u数组($q)){
$cat_name=$row['cat_name'];
$price=$row['price'];
回声“.$cat_name.”.$price.”;
}
回声';

用这个替换您的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>'; 
} } ?>


为什么你否决了我的答案?这是正确的,请检查一下。我建议你也显示一个预期输出的屏幕截图。你的答案包含一个打字错误:
,而不是
。另外,它将是伟大的格式化您的代码,并包括您的解决方案的解释。我是从移动在线,因此代码格式是不正确的,但你从中得到的想法。所以请接受它,投赞成票。