![](/img/trans.png)
[英]How do I randomly get variables from a mysql database? (using php with dbo connection)
[英]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.