【问题标题】:Making a table with "mysql_fetch_array();" not working properly用“mysql_fetch_array();”创建一个表不能正常工作
【发布时间】:2015-03-15 07:27:03
【问题描述】:

我正在尝试创建一个从数据库中获取信息并将其发布到网页的页面。我尝试使用“表格边框”和“表格高度”命令,但我认为我做错了。因为每当我现在回显某些内容时,它都会显示在表格上方,即使代码位于“表格”代码下方。看看我的代码(你不应该关心我设置的变量,因为它们可能不匹配。不要担心这个。我唯一要修复的是表格)

<?php
include 'connection.php';


echo "<table border='2' style='border-collapse: collapse'>";  
echo "<th>ID</th><th>Name</th><th>Special</th><th>Size</th>";


while($elev = mysql_fetch_array($resultstudent)){
    echo "<h4> " . $student['Student']  .  $student['Room']  . " </h4>";
    //echo "<h4> has rom " . $ev['Rom'] . "</h4>";
}

echo "<h1> list of rooms </h1>";

while($rom = mysql_fetch_array($resultroom)){
    echo "<tr><td>"   .$rom['Room ID'] . ""   .$rom['Roomname'] .""  . $rom['Special'] ."</td><td>" . $rom['Size']  . "; 
}



?>

【问题讨论】:

  • h1 不是直接位于table 标记内的有效元素;您还缺少theadtbodytr(行)的th。这意味着您将显示留给浏览器来理解,并且它将h1h4 移出table“为您”(触发所谓的怪癖模式)。使您的标记有效。 W3C 有一个markup validator 可以帮助您找到问题。使用浏览器的View Source 在浏览器接收到您的标记时复制它。
  • mysql 已弃用,不应在新代码中使用 see here

标签: php html mysql datatable html-table


【解决方案1】:

尝试改变这一行:

echo "<th>ID</th><th>Name</th><th>Special</th><th>Size</th>";

用这个:

echo "<tr><th>ID</th><th>Name</th><th>Special</th><th>Size</th></tr>";

然后不要忘记在最后关闭,但我认为也有一些问题,因为它不在任何表TAG中

【讨论】:

    【解决方案2】:

    我在代码中添加了您需要的行,请参见 cmets“// LINE ADDED”。试试这段代码:

    <?php
    include 'connection.php';
    
    $queryroom = "SELECT * FROM rom";
    $querystudent = "SELECT * FROM elev";
    $queryspecial = "SELECT * FROM rom WHERE prosjektor = 1";
    
    $resultroomm = mysql_query($queryRom);
    $resultstudent = mysql_query($queryElev);
    //$resultspecial = mysql_query($queryRomProsjektor);
    
    echo "<table border='2' style='border-collapse: collapse'>";  
    echo "<thead><tr>"; // LINE ADDED
    echo "<th>ID</th><th>Name</th><th>Special</th><th>Size</th>";
    echo "</tr></thead>"; // LINE ADDED
    
    echo "<tbody>"; // LINE ADDED
    
    while($elev = mysql_fetch_array($resultstudent)){
        echo "<tr><td colspan='4'>"; // LINE ADDED
        echo "<h4> " . $elev['Student'] . " has room nr: " .  $elev['Room']  . " </h4>";
        //echo "<h4> has rom " . $ev['Rom'] . "</h4>";
        echo "</td></tr>"; // LINE ADDED
    }
    
    echo "<tr><td colspan='4'>"; // LINE ADDED
    echo "<h1> list of rooms </h1>";
    echo "</td></tr>"; // LINE ADDED
    
    while($rom = mysql_fetch_array($resultroom)){
        echo "<tr><td>" . $rom['Room ID'] . "</td><td>" . $rom['Roomname'] ."</td><td>"  . $rom['Special'] ."</td><td>" . $rom['Size']  . "</td></tr>"; 
    }
    
    echo "</tbody></table>"; // LINE ADDED 
    
    ?>
    

    我认为您应该阅读以下内容:

    https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 2021-01-05
      • 2013-06-06
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多