帖子页面上的相关文章

时间:2012-08-30 15:53:48

标签: 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代码,它从我想要的表中提取随机数据,但我似乎无法弄清楚如何让它不显示当前发布的帖子。我需要输入if语句吗?如果我去哪里,它会如何实现它。我能做的唯一事情是使用if语句检查页面上的post_id是否与发布的post_id匹配。但我是新手,我唯一能想到的是。     if(!$ row ['post_id'] == $ _GET ['id']){     } 我不知道该怎么做才能做到。此外,如果有人知道如何或可以帮助指出我正确的方向,这将是伟大的。感谢。

以下是这里的总体更新。它仍然显示它已经发布了。希望这可以帮助。这是页面的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(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 
} 
?>

1 个答案:

答案 0 :(得分:0)

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

$result= mysql_query(sprintf("SELECT * FROM news WHERE id <> %d LIMIT %d, 5", $post->id, $number));

此外,您不应再使用mysql_*函数,因为它们已被弃用;结帐PDO