Делает ли запрос LIMIT невозможным условие ==?

У меня есть случай, чтобы закодировать модуль викторины, который мне нужен, чтобы просмотреть его вопрос только для 40 вопросов. Сразу после викторины я должен сделать if ..elseусловие, чтобы решить, какой ответ является верным или нет. Потому что, если это правда, я буду давать баллы за каждый правильный ответ. Но это просто не может сделать его в хорошем состоянии. Он может фильтровать неправильные ответы, но не истинные ответы.

Я использую фреймворк Yii, и я думаю, что это ничего общего со сценарием Yii. Я думаю, что предел запросов усложняет задачу. Может кто-нибудь помочь, пожалуйста? Я должен был завершить это для моего окончательного проекта.

Вот мое отношение к базе данных:
«soalsoal» — это вопросы, а «jawabanjawaban» — ответы.

Табличные Отношения

Вот мой взгляд на форму викторины

<form method="post">

<?php
$x = 0;

foreach ($soal as $data)
{
echo $data->soal."<br>";

$list = CHtml::listData($data->jawabanjawabans, 'idjawab','jawaban');
echo CHtml::radioButtonList("jawabanku[$x]", '', $list);
$x++;

echo "<br><br><hr>";
}
?>

<div class="form-actions">
<div class="col-lg-3">
<br><br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;
<button type="submit" class="btn btn-primary btn-lg" aria-label="Center">
<span class="glyphicon glyphicon-save" aria-hidden="true"></span>
Selesai
</button>
<br>
</div>
</div>

</form>

И вот моя страница викторины:

<div class="alert alert-dismissable alert-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Penting!</strong> Isikan masing-masing kolom jawaban dengan benar. <br>
Jawaban benar akan mendapat poin +4. <br>
Jawaban salah akan mendapatka poin -1. <br>
Jawaban kosong akan mendapatkan poin 0. <br>
Kerjakan dengan baik dan benar. Telitilah dalam membaca soal. Kerjakan <b>hanya soal yang yakin dapat dikerjakan</b>
</div>

<div class="panel panel-primary">
<div class="panel-heading">
<h1 class="panel-title" >Simulasi</h1>
</div>
<div class="panel-body">

<?php $this->renderPartial('_form', array('soal'=>$soal)); ?>

</div>
</div>

А вот и мой контроллер:

    public function actionCreate()
{
$this->layout='//layouts/column_banksoal';

date_default_timezone_set("Asia/Bangkok");

if (isset($_POST['jawabanku']) ) {
$model=new Simulasi;
$jawabanku = $_POST['jawabanku'];
$model->idsiswa=Yii::app()->user->id;
$model->idbidang=Yii::app()->user->idbidang;
$model->date_created = date("Y-m-d H:i:s");

$jwbBenar = Soalsoal::model()->findAll(array(
"select"=>"idjawab",
"order"=>"idsoalsoal ASC"));
$benar = 0; $salah = 0; $kosong = 0; $totalskor=0; $jmlbenar=0; $jmlsalah=0;
$x = 0;

foreach ($jwbBenar as $data) {
if (!empty($jawabanku[$x])) {
if ($data == $jawabanku[$x]) {
$benar++;
} else if ($jawabanku[$x] == null) {
$kosong++;
}
$x++;
}

}

$salah     = 40-($benar+$kosong);
$jmlbenar   = (4*$benar);
$jmlsalah   = ((-1)*$salah);
$totalskor  = $jmlbenar + $jmlsalah;
var_dump($kosong,$totalskor,$jmlbenar,$jmlsalah);

$model->nilai=$totalskor;
$model->jml_benar=$benar;
$model->jml_salah=$salah;
$model->jml_kosong=$kosong;

if($model->save())
{
$id=Yii::app()->user->id;

$sql="SELECT * FROM simulasi WHERE idsiswa='$id' ORDER BY idsimulasi ASC";

$dataProvider=new CSqlDataProvider($sql,array(
'keyField' => 'idsimulasi',
));

$this->render('hasil', array(
'model'=>$model,
'benar'=>$benar,
'kosong'=>$kosong,
'salah'=>$salah,
'totalskor'=>$totalskor,
'grafikskor'=>$dataProvider,));
}} else {
$idbidang=Yii::app()->user->idbidang;
$soal = Soalsoal::model()->findAll(array(
"select"=>"idsoalsoal,soal,idbidang,gambar,kunci,idjawab",
"condition"=>"idbidang=$idbidang",
"order"=>"rand() LIMIT 40"));

$this->render('create', array('soal'=>$soal));

}

}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …