2014-08-31 31 views
1

我有如下的mysql表。php查詢後獲取一個隨機值從表中取出行

CREATE TABLE IF NOT EXISTS `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(20) NOT NULL, 
    `reg_number` varchar(100) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ; 

在此表中有一些數值如下

INSERT INTO `users` (`name`, `reg_number`) VALUES('qaser', 'j-001'), ('rizwan', 'j-002'), ('rizwan', 'j-003'),('rizwan', 'j-004'),('rizwan', 'j-005'),('rizwan', 'j-006'),('rizwan' 'j-007'),('rizwan', 'j-008'); 

我使用下面的查詢

$sql="SELECT reg_number FROM users"; 
    $result=mysqli_query($con,$sql); 
    if(!$result){ 
      die(mysqli_error($con)); 
      } 
    while($row=mysqli_fetch_array($result)){ 
    echo $row['reg_number']; 
} 

它給了我下面的輸出檢索這些值

j-001 j-002 j-003 j-004 j-005 j-006 j-007 j-008 

隨着這些查詢的運行而變得非常順利。我想隨機輸出這個結果,這隻會是一個值,例如。 j-005

作爲rand(1,8)函數工作它只給出一個值。

+0

'選擇reg_number來自用戶的ORDER BY RAND()LIMIT 1'? – Class 2014-08-31 21:56:38

+0

@Class我已經使用它,但隨機顯示所有值。我只想從這些值中顯示一個值。 – TinyCoder 2014-08-31 22:08:22

+0

你還使用了'LIMIT 1'嗎?因爲它限制了搜索的結果 – Class 2014-08-31 22:10:01

回答

1

您可以使用RAND()操作做

SELECT reg_number FROM users ORDER BY RAND() limit 1 
+0

我已經使用它,但隨機顯示所有值。我只想從這些中獲得一個價值。 – TinyCoder 2014-08-31 22:03:08