簡體   English   中英

如何獲取mysql數據庫ID以隨機回顯?

[英]How do I get mysql database id to echo randomly?

我已經按照在線教程創建了一個PHP / mysql搜索數據庫。 一切都很好。 我只想知道如何在數據庫中獲取結果以隨機順序顯示。

當前,結果根據其在mysql數據庫中的ID號以數字順序顯示。 我想知道如何隨機顯示結果嗎?

使用$ id調用ID。 這是PHP:

<?php

$button = $_GET ['submit'];
$search = $_GET ['search'];

if(strlen($search)<=1)
echo "Search term too short";
else{
echo "<h1>Dislpaying results for <b>$search</b> <hr size='1'></h1></br>";
mysql_connect("localhost","dobhgc767545ch2","jhjhghtyutuhjh");
mysql_select_db("doorcouhjhjh2");

$search_exploded = explode (" ", $search);

foreach($search_exploded as $search_each)
{
$x++;
if($x==1)
$construct .="keywords LIKE '%$search_each%'";
else
$construct .="OR keywords LIKE '%$search_each%'";

}

$constructs ="SELECT * FROM search WHERE $construct";
$run = mysql_query($constructs);

$foundnum = mysql_num_rows($run);

if ($foundnum==0)
echo "Sorry, there are no matching result for <b>$search</b>.</br></br>1.
Try more general words. for example: If you want to search 'how to create a website'
then use general keyword like 'create' 'website'</br>2. Try different words with similar
 meaning</br>3. Please check your spelling";
else
{

echo "$foundnum results found !<p>";

$per_page = 9;
$start = $_GET['start'];
$max_pages = $foundnum / $per_page;
if(!$start)
$start=0;
$getquery = mysql_query("SELECT * FROM search WHERE $construct LIMIT $start, $per_page");

while($runrows = mysql_fetch_assoc($getquery))
{
$title = $runrows ['title'];
$description = $runrows ['description'];
$link = $runrows ['link'];
$image = $runrows ['image'];


echo "
<div class=\"pagination\" style=\"display:inline\"><ul style=\"background-color:#\"><li><div      class=\"span3_search\"><div class=\"title_bg\"><h2><a href='$link'><b>$title</b>    </a></h2></div><div class=\"result_img\"><a href='$link'><img id=\"result_img\" src=\"$image\" /></a>    </div><div class=\"result_desc\"><p>$description</p></div><div class=\"result_link\"><br />
<a href='$link'>$link<br /><br /></a><p></div></div></li></ul></div>
";


?>

如果它是一個小的數據集,您可以使用mysql

ORDER by RAND()

不要在大型​​數據集上執行此操作,效率非常低

$constructs ="SELECT * FROM search WHERE $construct ORDER BY rand()";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM