簡體   English   中英

HTML表格無法正確顯示MySQL數據

[英]HTML Table does not display MySQL data correctly

我運行多個MySQL查詢,並基於變量(例如人員的功能等),它應將數據輸出到HTML表中的行和列中。 但是,在運行代碼時,最終會陷入一團糟,數據沒有跟隨正確的列。 有關更多信息,請參見下圖( https://imgur.com/alRkog8 )。 我似乎無法弄清楚我在做什么錯,因為在我看來我已經正確放置了所有的“ tr”和“ td”。 這就是HTML表格最終在網頁上顯示的方式

    session_start();
    if(!isset($_SESSION['user1'])){
        header("location:".WEBROOT."index.php");
        exit();
    }
include_once DOCROOT . 'DBconnect.php';
    ?>

<html>
<head>
    <?php
    $title = "Participants";
    $file = __FILE__;
    include DOCROOT . 'pages/menu.php';
    ?>
<div id="content">
<div class="widecontentitem" id="lastitem">
    <?php
    $result = mysqli_query($db_link, 'SELECT institutionID FROM users WHERE users.UserID = \'' . $_SESSION['user1'] . '\'');
    if (!$result) {
        die('Invalid query: ' . mysqli_error());
    }
    $institutionID = "";
    while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
        $institutionID = $row[0];
    }
    print "<input type=\"hidden\" id=\"institution\" value=\"" . $institutionID . "\"> ";
    $result = mysqli_query($db_link, 'SELECT participants.name, participants.surname, participants.email, participants.special, participants.housingcomments, participants.functionID, participants.infix, participants.committee, participants.dateOfBirth, participants.housing, participants.countryID, participants.participantID FROM participants WHERE participants.institutionID =' . $institutionID);
    if (!$result) {
        die('Invalid query:2 ' . mysqli_error());
    }
    print "<table>";
    print "<tr><th><b>Function</b></th><th><b>Name</b></th><th><b>Surname</b></th><th><b>Date Of Birth</b></th><th><b>Country</b></th><th><b>Committee</b></th></tr>";
    while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
       if($row[9]==1){
          $row[0] = "(H)" . $row[0];
        }

        if( $row[5]==4){
            $title = "Delegate ";
            $result3 = mysqli_query($db_link, 'SELECT delegation FROM delegations WHERE ambassadorID =' . $row[11] );
            $num_rows = mysqli_num_rows($result3);
            if($num_rows==1){
                $title = "Ambassador ";
            }
            $result2 = mysqli_query($db_link, 'SELECT delegation FROM delegations WHERE delegationID = ' . $row[10] );
            while ($row2 = mysqli_fetch_array($result2, MYSQLI_NUM)) {
                print "<tr><td>$title </td><td>$row[0] </td><td>$row[1] </td><td>$row[8] </td><td>$row2[0] </td><td>$row[7]   </td></tr>";
            }
        }
        if( $row[5]==2){
            print "<tr><td>MUN-Director </td><td>$row[0] </td><td>$row[1] </td><td>$row[8] </td><td></td><td></td></tr>";
        }
        if($row[5]==5){
            print "<tr><td>President </td><td>$row[0] </td><td>$row[1] </td><td>$row[8] </td><td></td><td>$row[7] </td></tr>";
        }
        if($row[5]==6){
            print "<tr><td>Deputy President </td><td>$row[0] </td><td>$row[1] </td><td>$row[8] </td><td></td><td>$row[7]  </td></tr>";
        }
        if($row[5]==7){
            print "<tr><td>Chair </td><td>$row[0] </td><td>$row[1] </td><td>$row[8] </td><td></td><td>$row[7] </td></tr>";
        }
        if($row[5]==8){
            print "<tr><td>Deputy Chair </td><td>$row[0] </td><td>$row[1] </td><td>$row[8] </td><td></td><td>$row[7] </td></tr>";
        }
        if($row[4]!=NULL || $row[3]!=NULL){
            print "<table>";
            if($row[3]!=NULL){
                print "<tr><td colspan=\"6\">Comments: </td><td>$row[3] </td></tr>";
            }
            if($row[4]!=NULL){
                print "<tr><td colspan=\"6\">Housing: </td><td>$row[4] </td></tr>";
            }
            print "</table>";
        }
    }
    print "</table>";
    ?>
</div>
<?php include '../footer.php';?>
</div>
</body>
</html>

至少一個問題可能是從此處嵌套<table>元素的:

if($row[4]!=NULL || $row[3]!=NULL){
            print "<table>";
            if($row[3]!=NULL){

MDN表格元素Doc

允許的內容按以下順序:

  • 可選的<caption>元素,
  • 零個或多個<colgroup>元素,
  • 可選的<thead>元素,
  • 以下任一項:
    • 零個或多個<tbody>元素
    • 一個或多個<tr>元素
  • 可選的<tfoot>元素

您可能想要使用諸如Nu Html之類的東西來驗證HTML。 一種使用方式是

  • 右鍵單擊頁面,然后選擇“查看頁面源代碼”或類似內容,具體取決於您的瀏覽器
  • 全選並復制
  • 選擇檢查方式:在驗證器中text input
  • 粘貼頁面源,然后單擊檢查

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM