2012-12-10 41 views
0

我正在yii中創建項目。我有3個表原樣 輪詢選項Pollvote -PollId -optionId -voteId -PollQuestion -option -optionId -pollId -createdate在yii如何找出號碼投票

一個問題可以具有4個或5個選項。 假設我有AS-數據 PollId = 1 PollQuestion = 「誰是最好的球員」 optionId = 1個選項= ABC optionId = 2選項= DEF optionId = 3選項現在,這些選項都具有不同的票數= XYZ 。我想顯示最高的投票選項。 我設計了功能越來越問題和AS-

public function actionpublishPollResult() 
{ 
    $model=new Polloption(); 
    $json='{"pollId":1}'; 
    $obj=json_decode($json); 
    $model->pollId=$obj->pollId; 
    $record=Polloption::model()->findAllByAttributes(array('pollId'=>$model->pollId)); 
    foreach ($record as $option) 
    { 
     echo "option id :-".$option->optionId."<br>"; 

    } } 

它給了我它的輸出相關選項原樣 選項ID:-3 選項ID:-5 選項ID:-6 選項ID: - 7

那麼現在如何訪問單個optionId以及如何找出每個選項的票數。 請幫助我...

回答

0

如果您想以最多的投票次序排列您的選項,爲何不查詢該數據庫中該PollId的所有選項,並通過votes_counter列DESC命令?

然後在你的視圖中循環它。

PS - 這是一個php設計問題。不是yii框架特定的問題。爲了獲得更好的幫助,你應該更好地標記你的問題。

+0

感謝建議先生....但下面的代碼是在時間給予所有選項。 foreach($ record as $ option) { echo「option id: - 」。$ option-> optionId。「
」; }如何訪問每個單獨的optionId,以便我可以在數據庫上觸發查詢where questionId =某個特定的optionid。在mysql服務器上請幫我 – user1761116

+0

,試試這個查詢 - > SELECT * from tbl_options WHERE pollId = XX ORDER BY column_number_of_votes DESC - 使用這個查詢,你將得到所有屬於poll_n XX的選項行,按column_number_of_votes的順序排序DESCENDING最高的數字下降) – njasm