更新了其他人的建议,但似乎仍然停滞不前。
我在这里使用这个php代码来使用ID显示数据库中的信息。我在主页上创建了一个链接,看起来像这样。
<h1><a href="fetch.php?id=<?php echo $row_getDisplay['post_id']; ?>"><?php echo $row_getDisplay['title']; ?></a></a></h1>
当他们点击文章的标题时,我会把他们带到我的php领域,我把它命名为fetch.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
}
}
}
感谢您的帮助。如果你能为我找到一个更好的解决方案,那就太好了。
您不应该使用$HTTP_GET_VARS
它已弃用,除非它已打开,否则不会填充它。请改用$_GET
。
if (isset($_GET['id']) == false)
将$_GET
用于if语句:
if (isset($_GET['id']) == false)
此外,您需要将$_GET
值转换为整数,因为它当前是一个字符串。
紧接着,如果上面的语句,在else
中,放上这个:
$id = (int) $_GET['id'];
这样你的is_numeric()
就会正常工作。
试试这个;
<?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
,你从哪里得到的?