Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 相关文章在后页_Php - Fatal编程技术网

Php 相关文章在后页

Php 相关文章在后页,php,Php,这是我正在使用的PHP代码,它从我想要的表中提取随机数据,但我似乎不知道如何让它不显示当前的帖子。我需要加入一个if语句吗?如果我这样做了,它将走向何方,如何实现它。我唯一能做的就是使用if语句检查页面上的post_id是否与发布的post_id匹配。但我对这件事还不熟悉,我唯一能想到的就是。 如果(!$row['post\u id']=$\u GET['id']){ } 我不知道以后该怎么办。另外,如果有人知道如何或可以帮助我指出正确的方向,那将是伟大的。谢谢 这是这里全部内容的更新。它仍然显

这是我正在使用的PHP代码,它从我想要的表中提取随机数据,但我似乎不知道如何让它不显示当前的帖子。我需要加入一个if语句吗?如果我这样做了,它将走向何方,如何实现它。我唯一能做的就是使用if语句检查页面上的post_id是否与发布的post_id匹配。但我对这件事还不熟悉,我唯一能想到的就是。 如果(!$row['post\u id']=$\u GET['id']){ } 我不知道以后该怎么办。另外,如果有人知道如何或可以帮助我指出正确的方向,那将是伟大的。谢谢

这是这里全部内容的更新。它仍然显示已经打开的post。希望这有帮助。这是页面的php代码

<?php
mysql_select_db($database_XXX, $XXX);
$result= mysql_query("SELECT COUNT(*) FROM news"); 
$total = mysql_result($result, 0, 0); 

// create a random number 
mt_srand((double)microtime()*1000000); 
$number = mt_rand()%$total; 

// get a random entry 
$result= mysql_query("SELECT * FROM news LIMIT $number, 5");
$row = mysql_fetch_array($result); 
?>

假设代码位于查看主产品的页面上:

<?php
mysql_select_db($database_xxx, $xxx);
$result= mysql_query("SELECT COUNT(*) FROM news"); 
$total = mysql_result($result, 0, 0); 

// create a random number 
mt_srand((double)microtime()*1000000); 
$number = mt_rand()%$total; 

// get a random entry 
$result= mysql_query(sprintf("SELECT * FROM news WHERE post_id <> %d LIMIT %d, 3", $post->post_id, $number)); 
$row = mysql_fetch_array($result); 
?>

<?php
if (! isset($_GET['id']) || (int) $_GET['id'] === 0 ) {
echo "Incorrect input, aborting"; 
exit;  
} 
mysql_select_db($database_xxx, $xxx);
$sql = "SELECT * FROM news WHERE post_id = " . $_GET['id'];
// a line of debug to make sure things are as expected

$query = MYSQL_QUERY($sql);
// query your table for a match with post_id
if (mysql_num_rows($query) == "1")
// if a record is found, show the info 
{ 
$fetch = mysql_fetch_array($query); // set $fetch to have the values from the table
} else { 
echo "No match in database found."; // if no match is found, display this error 
} 
?>
$result=mysql\u查询(sprintf(“从新闻中选择*id%d限制%d,5“,$post->id,$number));

此外,您不应该再使用
mysql.*
函数,因为它们已被弃用;签出

谢谢您的代码,但它仍然在相关帖子中显示当前帖子。我有一个问题…$post应该是什么?是$\u GET['id']?$post是当前的post对象。我只是假设这就是它的名称,因为你没有提到任何关于当前帖子的名称。我刚刚注意到您正在使用$_GET['id']。。你一点也不要求从数据库发帖吗?如果你能看一下,我在上面编辑了这篇文章。我认为你问题中的文字表明你已经在正确的方向上思考了,尽管你应该遵循@Matt对
mysql的建议
$result= mysql_query(sprintf("SELECT * FROM news WHERE id <> %d LIMIT %d, 5", $post->id, $number));