如何使用PHP / HTML

时间:2017-03-16 23:17:22

标签: 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); 
?>

任何帮助?

1 个答案:

答案 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。

让我知道它是否有效。