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