2017-03-16 37 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 –