隨機查出滿足條件的5條數據
public function showQuestion() { $data['type'] = 20; $data['level'] = 1 $data['level'] = (int)$data['level']; do{ $question = Db::name('questions') -> where("category_id=$data[type] and isdelete!=1") -> order('rand()') // rand()產生0-32768之間的一個隨機數,如果要指定范圍則使用 rand(min,max) -> limit(5) -> select(); if(empty($question)){ // 如果沒有滿足條件的數據,則跳出循環,否則會在這兒死循環。 break; }else{ //計算難度系數 $sum = 0; foreach($question as $value){ $sum+=$value['difficultyDegree']; } } }while($sum > $data['level'] || $sum <= $data['level']-10); // 如果難度系數大於20 或者小於10則重新查詢,直到查詢出滿足條件的5條數據為止 。 if($question){ return json($question); }else{ return json(false); } }