我遇到了问题,我找不到相关的信息,我是PHP的新手,如果有人可以提供帮助我需要帮助......
所以这是我的问题,我想在页面上显示不同的文章,我在MYSQL中创建了文章,当我尝试显示所有这些文章时,我一直在获取相同名称的相同文章,当我更改ID时标签栏中的数字我可以看到不同的文章,但名称已更改,但仍然是相同的href相同。
<nav class="sdb_holder">
<tr>
<td><a href="news.php?id=<?php echo $rsNews['id'];?>"><?php echo $rsNews['name']; ?></a></td>
<td><a href="news.php?id=<?php echo $rsNews['id'];?>"><?php echo $rsNews['name']; ?></a></td>
<td><a href="news.php?id=<?php echo $rsNews['id'];?>"><?php echo $rsNews['name']; ?></a></td>
<td><a href="news.php?id=<?php echo $rsNews['id'];?>"><?php echo $rsNews['name']; ?></a></td>
<td><a href="news.php?id=<?php echo $rsNews['id'];?>"><?php echo $rsNews['name']; ?></a></td>
<td><a href="news.php?id=<?php echo $rsNews['id'];?>"><?php echo $rsNews['name']; ?></a></td>
<td><a href="news.php?id=<?php echo $rsNews['id'];?>"><?php echo $rsNews['name']; ?></a></td>
</tr>
</nav>
php代码:
$db = mysql_select_db("db");
if(isset($_GET['id'])){
$id = $_GET["id"];
}
else{
$id="1";
}
$news_sql = " SELECT * FROM news WHERE id = $id";
$news_query = mysql_query($news_sql);
$rsNews = mysql_fetch_assoc($news_query);
?>
任何帮助?
答案 0 :(得分:0)
不确定,因为您的脚本的其他部分似乎缺失了,但我认为您需要的是:
<?php
$db = mysql_select_db("db");
if(isset($_GET['id'])){
$id = $_GET["id"];
}
else{
$id="1";
}
//fetching the register based on your id.
$news_sql = "SELECT * FROM news WHERE id = $id";
$news_query = mysql_query($news_sql);
$rsNews = mysql_fetch_assoc($news_query);
//faching all other records in your db.
$all_news_sql = "SELECT * FROM news";
$all_news_query = mysql_query($all_news_sql);
?>
我已经创建了另一个查询,以获取数据库中的所有其他帖子。你正试图显示使用相同ID获取的相同帖子。这就是你有同名的原因。
这是显示所有其他记录的部分:
<nav class="sdb_holder">
<tr>
<?php while ($row = mysql_fetch_assoc($all_news_query)): ?>
<td><a href="news.php?id=<?php echo $row['id'];?>"><?php echo $row['name']; ?></a></td>
<?php endwhile ?>
</tr>
</nav>
您不需要重复代码来显示所有记录,因为有时您甚至不知道数据库中有多少记录。这就是为什么我们只将代码放在while循环中,所以它会重复,直到在我的查询中检索最后一条记录。
我认为是这样的。我明白你明天会很着急,但是如果能够,请考虑将mysql函数更改为PDO / Mysqli。
让我知道它是否有效。