I am working in yii. I have controller function as-
public function actiongetPublicQuestion()
{
$model=new Qbquestion();
$new = Yii::app()->db->createCommand()->select('max(tranId)')->from('qbpublicuserquestion')->queryScalar();
$CurrentQuestionId=Qbpublicuserquestion::model()->findByPk($new);
$currentQuestion=Qbquestion::model()->findByPk($CurrentQuestionId->questionId);
echo "Currently displayed question is=".$currentQuestion->question."</Br>";
// $answer=Qbquestionoption::model()->findAllByAttributes(array('questionId'=>$currentQuestion1->questionId));
$old = Yii::app()->db->createCommand()->select('max(tranId-1)')->from('qbpublicuserquestion')->queryScalar();
$PreviousQuestionId=Qbpublicuserquestion::model()->findByPk($old);
$currentQuestion1=Qbquestion::model()->findByPk($PreviousQuestionId->questionId);
echo "previously displayed question is=".$currentQuestion1->question;
$answer=Qbquestionoption::model()->findAllByAttributes(array('questionId'=>$currentQuestion1->questionId));
foreach($answer as $ans)
{
// var_dump($ans);
if($ans->isAnswer==1)
{
echo "</br>"."correct Answer is=".$ans->option."with optionId=".$ans->optionId;
$true=$ans->option;
echo "</br>";
echo "{'questions':[".CJSON::encode(array("question"=>$currentQuestion1->question,"answer"=>$true,"question1"=>$currentQuestion->question))."] }";
}
}
}
So i am retriving two questions from database such a way that last entry of table is currently displayed question and second last entry is previouly displayed question. i want to publish answer of previously displayed question also.
I am sending this information in json encoded format.
i want output in format=
"Questions": [
{"question": "Who is the prime minister of india?","answer":"Manmohan sinh"},
{"question": "2 when who will win the test?"},
]
But when i am using same variable in CJSON::encode(array(“question”=>$currentQuestion1->question,”answer”=>$true,”question”=>$currentQuestion->question)).”] }”;},its giving only one quetion if we use same variable in encoded cjson array. So how to get required output.
As the output you want has two JSON objects (i.e. two items in curly braces), the data structure you pass to CJSON::encode needs to be an array of objects or arrays, i.e.: