0

更新了其他人的建议,但似乎仍然卡住了。

我在这里使用这个 php 代码来使用 ID 显示来自我的数据库的信息。我在我的主页上创建了一个看起来像这样的链接。

<h1><a href="fetch.php?id=<?php echo $row_getDisplay['post_id']; ?>"><?php echo $row_getDisplay['title']; ?></a></a></h1>

我有所以当他们点击文章的标题时,它会将他们带到我命名为 fetch.php 的 php 字段,下面的代码就是其中的内容。我已经围绕别人的工作建立了这个。出于某种原因,我无法通过第一个“else”语句。所以我不断收到“你必须选择一个有效的位置”我对 php 还很陌生,所以我真的不明白为什么代码会失败。

<?php require_once('Connections/XXXXXX.php'); ?>
<?php 
if (isset($_GET['id']) ==  false) // check if id has been set 
{ 
echo "You must select a location"; // if not, display this error 
exit; 
} else { 
$id = (int) $_GET['id']; 
if (is_numeric($id) == false) 
**{ 
echo "You must select a valid location."; 
} else {** 

mysql_select_db($database_XXXXXX, $XXXXXX);
$query = MYSQL_QUERY("SELECT * FROM news WHERE post_id ");

if (MYSQL_NUM_ROWS($query) == "1")

{ 
$fetch = MYSQL_FETCH_ARRAY($query); // set $fetch to have the values from the table 
echo "Title: " . $fetch['title'] . "<BR>"; // output the info 
echo "Blog: " . $fetch['blog_entry'] . "<BR>"; // etc... 
echo "Author: " . $fetch['author'] . "<BR>"; // etc... 
} else { 
echo "No match in database found."; // if no match is found, display this error 
} 
} 
}

任何帮助表示赞赏。如果您能够为我找到更好的解决方案,那就太好了。

4

3 回答 3

2

你不应该使用$HTTP_GET_VARS它已弃用,除非它打开它不会被填充。改为使用$_GET

if (isset($_GET['id']) == false)

于 2012-07-28T16:28:53.627 回答
0

尝试这个;

<?php
require_once('Connections/XXXXXX.php');

if (isset($_GET['id'])) // check if id has been set
 {
$id = $_GET['id'];
if (is_numeric($id) == false)
{
echo "You must select a valid location.";
} else {

mysql_select_db($database_XXXXXX, $XXXXXX);
$query = MYSQL_QUERY("SELECT * FROM news WHERE locationid = 'news.post_id' ");

if (MYSQL_NUM_ROWS($query) == "1")

{
$fetch = MYSQL_FETCH_ARRAY($query); // set $fetch to have the values from the table
echo "Title: " . $fetch['title'] . "<BR>"; // output the info
echo "Blog: " . $fetch['blog_entry'] . "<BR>"; // etc...
echo "Author: " . $fetch['author'] . "<BR>"; // etc...
} else {
echo "No match in database found."; // if no match is found, display this error
}
}
}
else{
echo "You must select a location"; // if not, display this error
exit;
}
?>

另外,我需要澄清一下news.post_id,你从哪里抓到这个?

于 2012-07-28T17:33:11.803 回答
0

用于$_GET您的 if 语句:

if (isset($_GET['id']) ==  false) 

此外,您需要将$_GET值转换为整数,因为它当前是一个字符串。

在上面的 if 语句之后,在 中else,输入:

 $id = (int) $_GET['id']; 

这样你is_numeric()就可以正常工作了。

于 2012-07-28T16:29:23.080 回答