簡體   English   中英

在 HTML 中使用 PHP 顯示表格的內容

[英]showing contents of a table using PHP in HTML

我有這個代碼片段:

try 
{
    $conn = new PDO("mysql:host=$host;dbname=judges", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}

$query = "SELECT * FROM feedback";


echo '<table border="0" cellspacing="2" cellpadding="2"> 
      <tr> 
          <td> <font face="Arial">Judge Name</font> </td> 
          <td> <font face="Arial">PC</font> </td> 
          <td> <font face="Arial">TD</font> </td> 
          <td> <font face="Arial">EX</font> </td> 
          <td> <font face="Arial">ID</font> </td> 
          <td> <font face="Arial">comment</font> </td>
      </tr>';

if ($result = $conn->query($query)) {
    echo "got result";

    echo $result["PC"];
    //while ($row = $result->fetch_assoc()) {
    while ($row = $result) {
        $field1name = $row["judgeName"];
        $field2name = $row["PC"];
        $field3name = $row["TD"];
        $field4name = $row["EX"];
        $field5name = $row["ID"]; 
        $field6name = $row["comment"];
 
        echo '<tr> 
                  <td>'.$field1name.'</td> 
                  <td>'.$field2name.'</td> 
                  <td>'.$field3name.'</td> 
                  <td>'.$field4name.'</td> 
                  <td>'.$field5name.'</td> 
                  <td>'.$field6name.'</td> 
              </tr>';
    }
} 

兩者都在 submit.php 中,但是,雖然 Judges 數據庫中的反饋表不為空,但我沒有看到 HTML 頁面中顯示的任何行,只有列名顯示在 Firefox Inspect 工具的 Network 選項卡的 Response 選項卡中. 甚至在我為新用戶輸入信息之前,您有什么建議將現有數據庫填充到 html 頁面中?

這是我在評委數據庫中的反饋表:

在此處輸入圖像描述

從評論中嘗試以下操作也無效,並且沒有打印任何內容:

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {

在此處輸入圖像描述

if語句沒有意義。 您啟用了PDO::ERRMODE_EXCEPTION ,因此如果查詢中有錯誤,它將引發異常,而不是返回false

在 PDO 中獲取一行的語法是$result->fetch(PDO::FETCH_ASSOC)

$result = $conn->query($query);
echo "<td><tr>got result</tr></td>";

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $field1name = $row["judgeName"];
    $field2name = $row["PC"];
    $field3name = $row["TD"];
    $field4name = $row["EX"];
    $field5name = $row["ID"]; 
    $field6name = $row["comment"];
 
    echo '<tr> 
             <td>'.$field1name.'</td> 
             <td>'.$field2name.'</td> 
             <td>'.$field3name.'</td> 
             <td>'.$field4name.'</td> 
             <td>'.$field5name.'</td> 
             <td>'.$field6name.'</td> 
         </tr>';
} 

您正在混合 PDO 和 MYSQLI_ 您還有一些調試代碼會損壞您的表格 HTML。

此外,將數據從一個非常好的數組移動到標量變量中只是為了將這些值包含在某些 HTML 中也沒有任何意義。

if ($result = $conn->query($query)) {

    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {

        echo "<tr> 
                  <td>$row[judgeName]</td> 
                  <td>$row[PC]</td> 
                  <td>$row[TD]</td> 
                  <td>$row[EX]</td> 
                  <td>$row[ID]</td> 
                  <td>$row[comment]</td> 
              </tr>";
    }
} 

暫無
暫無

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

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