php - php while循环中的对齐问题

标签 php html css pdo alignment

这里我没有任何编码相关的问题。我正在尝试从多个数据库表中获取详细信息。获取结果工作正常。但是对齐是我的问题。

enter image description here

您可以看到一张图片。在该图片中,凭证状态栏工作正常。但是,另外两列(房间状态和膳食状态值)总是在最后一行。如何正确对齐这些(房间和膳食状态)值(如代金券状态列)?我希望你能理解我的问题...

      <?php
        echo "<table width=1090 border=1 style=\"border: #ddd;\" align=center cellspacing=4 cellpadding=10>";
        echo "<tr class=thvoucher>";
        echo "<th width=30>Voucher Number</th>";
        echo "<th width=80>Reference Number</th>";
        echo "<th width=200>Guest Name</th>";
        echo "<th width=150>Voucher Status</th>";
        echo "<th width=150>Room Status</th>";
        echo "<th width=150>Meal Status</th>";
        echo "</tr>";
        for($i = $start; $i < $end; $i++) 
        {
            if ($i == $total_results) 
            {
                break;
            }
            while($row = $stmt->fetch())
            {
               $voucherid = $row['VoucherID'];
           $ref = $row['VoucherReference'];
           $gname = $row['GuestName'];
           $vstatus = $row['ActiveStatus'];
           echo "<tr class=voucherstyle" . $cls . ">";
           echo "<td>$voucherid</td>";    **// FIRST TD**
           echo "<td>$ref</td>";    **// SECOND TD**
           echo "<td>$gname</td>";     **// THIRD TD**

                      if( $vstatus != 'empty' )       **// FOURTH TD**
        {
            if( $vstatus == 'Y' )
            {
                echo "<td class=green >Active</td>";
            }
            else if( $vstatus == 'N' )
            {
                echo "<td class=red >Inactive</td>";
            }
        }
        else
            {
                echo "<td><form method=post onsubmit=\"return mstatusvalidate(this)\"; action='voucherstatus_update.php?id_meal= $voucherid '><select name=mealstatus><option value=empty></option><option value=active>Active</option><option value=inactive>Inactive</option></select><input type=submit class=update_status title=\"Update $gname voucher status\" value=Update></form></td>";
            }
            }

            while($r_row = $r_stmt->fetch())
            {
                $rstatus = $r_row['ActiveStatus'];

                        // same like above if else statement      **// FIFTH TD**
            }       

            while($m_row = $m_stmt->fetch())
            {
                $mstatus = $m_row['ActiveStatus']; 

                        // same like above if else statement  **// SIXTH TD**       
            }
echo "</tr>";
            }
            echo "</table>";
            ?>

最佳答案

第一行有 6 个元素,但我只看到 3 个 td 元素,后续行没有 tr 结束标记。这可能是您的问题。

我怀疑粗略地检查一下您的源输出就会很清楚这一点。

关于php - php while循环中的对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21107701/

相关文章:

php - 使用 php 搜索 XML 文档

php - 在 PHP 中限制用户登录尝试

html - ITextsharp Html2Pdf CSS 问题

html - 如何使用 Bootstrap 对齐此 Logo 中心?

PHP mail() 中继到邮件服务器

php - 仅在第一页加载时显示消息

html - 在带有 Noscript 的 Firefox 中对 html/css 字体使用 @import(Google 字体不呈现)?

javascript - 在同一页面中弹出多个 div

css - 如何使用CSS打破颜色

javascript - 在没有 css 冲突的情况下加载 ajax 响应(html 内容数据)