回显PHP到HTML表

时间:2017-04-11 13:57:01

标签: php html mysql html-table

在循环时遇到问题。我究竟做错了什么?由于它,页面将无法加载。

$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>";

2 个答案:

答案 0 :(得分:0)

尝试将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>

答案 1 :(得分:0)

在此代码中,您尝试链接到$ id和$ name,只能假设您从省略的mysqli_query函数。

但是,我可以看到你在尝试什么。首先,您不需要在每一行上指定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列的表格,第一列具有值&#39; Name&#39;对于每一列,第二列是记录ID的链接,记录名称为文本。

如果您正在使用名为“&#39;名称&#39;你需要连续

<th>Name</th>

这里我使用mysqli_query,因为不推荐使用mysql_query。查询数据库时包含mysqli_error非常有用。如果连接无法执行查询,它将提供(并非总是有用的)错误,但至少要提出一个解决方案。