我有一個mysql數據中的名稱列表,我想隨機爲一個體育賽事抽籤進行排序。使用下面的代碼。我應該使用哪些php函數?
<?php
$user="";
$password="";
$database="";
mysql_connect('localhost',$user,$password);
@mysql_select_db($database) or die("Unable to select database");
$result = mysql_query("SELECT * FROM entries ORDER BY RAND()")
or die(mysql_error());
$rows = mysql_num_rows($result);
?>
這通常很適合我不過有次,其中參賽者進入事件兩次,即使經過隨機排序他的名字出現一個接一個。我應該使用不同的PHP函數嗎?或者是添加if子句的問題?
在此先感謝...
如果你正在編寫新代碼,** _ please _ **不要使用'mysql_ *'函數。它們已經老化並且破損,在PHP 5.5中已經被棄用了(它已經很舊了,它甚至不再接收安全更新),並且在PHP 7中完全刪除了。使用PDO或者'mysqli_ *'_with **準備好的語句**和**參數綁定**而不是。有關詳細信息,請參閱http://stackoverflow.com/q/12859942/354577。 – Chris
「有時候參賽者進入兩次賽事,甚至在隨機排序後他的名字會一個接一個地出現」。是的,這是_什麼[隨機意味着](https://en.wikipedia.org/wiki/Randomness)_:「事件中缺乏模式或可預測性」。有時兩個相同的值會彼此相鄰。如果這從來沒有發生過,你會有一個模式,而不是隨機性。 – Chris
你想要的行爲是什麼?參賽者只能贏得一次嗎?他們是否應該只能進入一次?如果他們可以多次進入,這是否會增加他們獲獎的機會? – Chris