我试图在一个动态页面上用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代码的第一部分