簡體   English   中英

在html表中顯示SQL表數據不起作用

[英]Displaying SQL table data in html table not working

我試圖從sql表中查詢和選擇數據,然后在html中顯示它。 這是我的代碼。

$result = mysqli_query($dbhandle, $query)
    or die(mysql_error().'<br>SQL:'.$query);
echo '<table style ="border:1px solid black;">';

while($row = mysqli_fetch_array($result)) {
    echo '<tr>';
    echo '<td style="border:1px solid black;">{$row['first_name']}</td>';
    echo '<td style="border:1px solid black;">{$row['last_name']}</td>';
    echo '<td style="border:1px solid black;">{$row['grade']}</td>';
    echo '<td style="border:1px solid black;">{$row['gpaP']}</td>';
    echo "<td style="border:1px solid black;">{$row['AGP']}</td>";
    echo "<td style="border:1px solid black;">{$row['awardP']}</td>";
    echo "<td style="border:1px solid black;">{$row['awardTP']}</td>";
    echo "<td style="border:1px solid black;">{$row['rigorP']}</td>";
    echo "<td style="border:1px solid black;">{$row['APP']}</td>";
    echo "<td style="border:1px solid black;">{$row['positionP']}</td>";
    echo "<td style="border:1px solid black;">{$row['hoursP']}</td>";
    echo "<td style="border:1px solid black;">{$row['selectionP']}</td>";
    echo "<td style="border:1px solid black;">{$row['activityTypeP']}</td>";
    echo "<td style="border:1px solid black;">{$row['activityYearsP']}</td>";
    echo "<td style="border:1px solid black;">{$row['date']}</td>";
    echo "<td style="border:1px solid black;">{$row['IP']}</td>";
    echo '</tr>';
}
echo '</table>';

它給出了一個錯誤,指出last_name單元格中有一個意外的字符串。 如果我從它工作的單元格中刪除樣式參數。 有人指出我的錯誤嗎?

你的單一和雙重quptes在PHP和HTML之間混淆了。 解決它的最簡單方法是使用heredoc語法:

echo <<<EOT
<tr>
<td style="border:1px solid black;">{$row['first_name']}</td>
<td style="border:1px solid black;">{$row['last_name']}</td>
<td style="border:1px solid black;">{$row['grade']}</td>
<td style="border:1px solid black;">{$row['gpaP']}</td>
<td style="border:1px solid black;">{$row['AGP']}</td>
<td style="border:1px solid black;">{$row['awardP']}</td>
<td style="border:1px solid black;">{$row['awardTP']}</td>
<td style="border:1px solid black;">{$row['rigorP']}</td>
<td style="border:1px solid black;">{$row['APP']}</td>
<td style="border:1px solid black;">{$row['positionP']}</td>
<td style="border:1px solid black;">{$row['hoursP']}</td>
<td style="border:1px solid black;">{$row['selectionP']}</td>
<td style="border:1px solid black;">{$row['activityTypeP']}</td>
<td style="border:1px solid black;">{$row['activityYearsP']}</td>
<td style="border:1px solid black;">{$row['date']}</td>
<td style="border:1px solid black;">{$row['IP']}</td>
</tr>
EOT;

這種語法使得它更容易,因為您可以使用單引號和雙引號而不轉義它們,並且將評估變量。 此外,在原始代碼中,變量不會被評估,因為它們是單引號。

您的代碼混合了兩種不同的引號樣式,這兩種引號都在PHP中有效,並且兩者都需要一些額外的轉義。

您應該選擇一種樣式(用單引號括起或用雙引號括起來),然后確保在字符串中轉義相同類型的引號。

你是混合單引號'用雙引號"" 例如,如果您使用"然后在行結束之前再次使用它來啟動該行,則需要使用\\"將其轉義。 我的建議是堅持使用一種風格,並將其用於所有線條。 例如,使用""

  echo "<td style=\"border:1px solid black;\">{$row['first_name']}</td>";
  echo "<td style=\"border:1px solid black;\">{$row['IP']}</td>";

暫無
暫無

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

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