1

如果我的问题看起来很愚蠢,但我没有解释。我正在尝试建立一个包含一些新闻的页面。我有具有诸如 News_id、news_header、新闻正文等属性的数据库。

我有 2 页第一页给出了新闻的简要描述列表,按钮允许用户阅读更多特定新闻。如果点击它会将相应的 news_id 值传递给获取 News_Id 值的页面 2,从数据库值中查询相应的值并输出内容。

问题是,无论我点击page 1列表中的哪个按钮看新闻,page 2总是收到新闻的news_id值,即** e中排在*前。这是代码

第一页(列表)

<form name='NewsLineSelection' method='post' action='news.php'>
<?php
 $News_Query = "Select * from news order by Date_Posted Desc;";
 $GetNews = mysql_query( $News_Query, $IVE_Connection ) or die("ERROR: ".mysql_error());

while ( $News_Database = mysql_fetch_array( $GetNews ) ){                   
?>
<tr><td ><?php echo $News_Database[1]; ?></td>//header
<tr><td ><?php echo $News_Database[2]; ?></td>//news body
...etc

<tr><td class="maintext">
<input type='hidden' name='NewsToRead' value='<?php echo $News_Database[0]; ?>'>//News_ID is here
<input type='submit' name='AddNews' value='Read More...' >
</td></tr>
 }//end of the loop

第 2 页(含信息详情)

$News_id = addslashes($_POST['NewsToRead']);

$News_Query = "Select * from news where news_id = ".$News_id.";";
$GetNews = mysql_query( $News_Query, $Connection ) or die("ERROR: ".mysql_error());
$News_Database = mysql_fetch_row( $GetNews );

//Then output the query's content

它在纸上看起来很完美。但是我真的不明白为什么例如第1页的列表中有10条新闻,无论我点击哪个按钮,第2页中$News_id的值总是列表中第一个新闻的id第 1 页。

可能我什么都没看到。它应该可以正常工作,但事实并非如此。

感谢您提供任何帮助或建议。

4

1 回答 1

5

那是因为您有多个具有相同名称的输入。你看错了问题。

您正在获取(获取)数据,您应该使用 GET 请求,而不是 POST 请求。

我的建议是,每个新闻标题都将包含在这样的链接中:

<h1>
    <a href="news.php?id=<?php //Code to output the correct ID here ?>"><?php //Code to output the correct headline here ?>
    </a>
</h1>

一些额外的东西

于 2012-12-29T09:29:41.150 回答