0
<?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 
} 
?>
4

1 に答える 1

0

主な製品を表示するページにコードがあると仮定します。

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

mysql_*また、関数は廃止されたため、もう使用しないでください。チェックアウトPDO

于 2012-08-30T16:02:31.843 に答える