繁体   English   中英

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

[英]How to display different articles using PHP/HTML

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

让我知道它是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM