php - 如何使用PHP/HTML显示不同的文章

标签 php html mysql

我有一个问题,我找不到有关此问题的信息,我是 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); 
?>

有什么帮助吗?

最佳答案

不确定,因为你的脚本的其他部分似乎丢失了,但我认为你需要的是这样的:

<?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。

让我知道它是否有效。

关于php - 如何使用PHP/HTML显示不同的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846482/

相关文章:

php - Drupal 站点不正常 - 消除过程

javascript - 在 JavaScript 中使用 $_SESSION ["attribute"]

php - Php 和 MySQL 中的特殊字符

php - 调用未定义的方法 Illuminate\Database\Eloquent\Relations\HasMany::withTimestamps()

javascript - 使用 jQuery 实现个人消息系统的实时消息计数

javascript - iframe 内的 Suitescript

html - 在 Windows 上调试 Ipad Web 应用程序

jquery - Flexslider 导航按钮在悬停时不起作用

PHP - 从 MySQL 查询获取字符串

php - 关键词标签结构