簡體   English   中英

將PHP轉換為HTML表

[英]Echo PHP to HTML table

與此PHP有關的問題在while循環中回顯。 我究竟做錯了什么? 頁面因此無法加載。

$query = mysql_query("SELECT * FROM `uploads`");
while($row = mysql_fetch_assoc($query)) //while loop
{
$id = $row['id']; //get ID
$name = $row['name']; //get name
//variable for getting name and ID

//回顯所有歌曲並顯示名稱。

 echo "<table>";
 echo "<tr>";
 echo "<td>Name</td>";
 echo "<td><a href='listen.php?id=$id' target='_new' >$name </a></td>";
 echo "</tr>";
 echo "</table>";

嘗試將HTMLPHP分開以方便調試,並且代碼將更加簡潔

<table>
    <tr>
        <th>Name</th>
    </tr>
    <?php
        while ($row = $result->fetch_assoc()) : ?>
        <tr>
            <td><a href='listen.php?id=<?php echo $row['id']; ?>' target='_new' ><?php echo $row['name']; ?></a></td>
        </tr>
    <?php endwhile; ?>
</table>

在這段代碼中,您試圖從一個省略的mysqli_query函數鏈接到一個$ id和$ name,它們只能假設一個。

但是,我可以看到您正在嘗試什么。 首先,您不必在每一行上都指定echo。 將其應用於代碼更改的代碼段

<?php
 echo "<table>";
 echo "<tr>";
?>

<?php
 echo "<table>
        <tr>";
?>

將產生相同的結果並保存一些輸入。

這就是您要尋找的。

<?php
 $con = mysqli_connect("localhost", "my_user", "my_password", "my_db");
 $sql = "SELECT * FROM `uploads`";
 $qry = mysqli_query($con,$sql) or die(mysqli_error($con));


 $table_content = "";
 while($row = mysqli_fetch_assoc($qry)){
      $id = $row['id'];
      $name = $row['name'];

      $table_content .= "<tr>
                        <td>Name</td>
                        <td><a href='listen.php?id=$id' target='_new'>$name</a></td>
                         </tr>";
    }

   echo "<table>".$table_content."</table>";
 ?>

這將產生一個包含2列的表格,第一列的每一列都具有值“ Name”,第二列是指向以記錄名稱為文本的記錄ID的鏈接。

如果您在名為“名稱”的表標題之后,則需要使用

<th>Name</th>

在這里,我不建議使用mysqliquery ,而使用mysqli_query mysqli_error在查詢數據庫時非常有用。 如果連接無法執行查詢,它將提供(並非總是有用的)錯誤,但至少會提示您解決方案。

暫無
暫無

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

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