2017-03-16 51 views
0

我有一个问题,我无法找到这方面的信息,我在PHP的新手,我需要帮助,如果任何人可以帮助不同的文章...如何显示使用PHP/HTML

因此,这里是我的问题是,我想在页面上显示不同的文章,我在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

你的php代码在哪里? –

+0

你的意思是? $ db = mysql_select_db(“db”); (isset($ _GET ['id'])){ $ id = $ _GET [“id”];} else { \t $ id =“1”; if } $ news_sql =“SELECT * FROM news WHERE id = $ id”; $ news_query = mysql_query($ news_sql); $ rsNews = mysql_fetch_assoc($ news_query); ?> –

+0

停止使用MySQL_ *函数! http://stackoverflow.com/q/12859942/3664960如果你是一个新手,最好开始寻找一个新的教程,解释PDO或MySQLi – davejal

回答

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。

让我知道它是否有效。

+0

你太棒了!非常感谢!它正在工作! –

+0

是的,我打算在这个项目之后开始更改mysql到PDO/Mysqli :)再次感谢! –

+0

很高兴知道它的工作=)标记答案正确时,能= D –