在动态页面上使用 PHP while 循环将不起作用



我试图在一个动态页面上用while循环来显示它,但是它根本不会显示任何东西。

if (isset($_GET['id'])) {
      $genre = $_GET['id'];
      $sql = "SELECT * FROM movstream_genre WHERE ID = '$genre'";
      $result = $db->query($sql);
      $row = $result->fetch_assoc();
}else{
     $sql = "SELECT ID, genre FROM movstream_genre";
     $result = $db->query($sql);
}
<html>
<body>
<ul>
    <?php while ( $row = $result->fetch_assoc() ): ?>
    <li><a href="genre?id=<?=$row['ID'];?>"><?=$row['genre'];?></a></li>
    <?php endwhile; ?>
</ul>
</body>
</html>

有谁知道为什么它不会在动态页面上显示任何东西,但如果页面不是动态的,它可以正常工作:)

谢谢。

如果动态页面意味着您在Url中发送id,而您没有得到结果。我认为问题是你在if条件下使用$row = $result->fetch_assoc();,也在while。请在一个地方使用抓取。最好是在while循环中。

我想通了

if (isset($_GET['id'])) {
$genre = $_GET['id'];
$sql = "SELECT ID, genre FROM movstream_genre";
$result = $db->query($sql);
}

当它是一个动态页面时,这就是它需要的样子:)我想是的,现在可以了

请回显结果…

<li><a href="genre?id=<?php echo $row['ID'];?>"><?php echo $row['genre'];?></a></li>

在href中,它只能是genre或genre.php

第一个查询…

$sql = "SELECT * FROM movstream_genre WHERE ID = '$genre'";
$result = $db->query($sql);
$row = $result->fetch_assoc();// this line not required

注释这一行$row = $result->fetch_assoc();

看起来您没有在<?php ?>标签中包含PHP代码的第一部分

相关内容

  • 没有找到相关文章

最新更新