ผมมีปัญหา Bad Request (#400) ซึ่งเกิดจาก method=post ผมต้องแก้อย่างไรครับ
cotroller
public function actionIndex() {
$data = Yii::$app->request->post();
$school_id = isset($data['school_id']) ? $data['school_id'] : '';
$year = isset($data['year']) ? $data['year'] : '2558';
$school_term_id = isset($data['school_term_id']) ? $data['school_term_id'] : '1,2';
$sql = " SELECT s.school_name as school,
a.student_total, a.deciduous_caries,a.gingivitis,a.disorder,a.permanent_no,a.permanent_caries,
(SUM(a.deciduous_caries)*100)/SUM(a.exam) as resulta1,
(SUM(a.permanent_no)*100)/SUM(a.exam) as resulta2,
(SUM(a.permanent_caries)*100)/SUM(a.exam) as resulta3,
(SUM(a.gingivitis)*100)/SUM(a.exam) as resulta4,
(SUM(a.disorder)*100)/SUM(a.exam) as resulta5,
(SUM(a.exam)*100)/SUM(a.student_total) as resulta6,
SUM(a.exam)- SUM(a.deciduous_caries) as nodcaries,
SUM(a.exam)- SUM(a.permanent_caries) as nopcaries,
SUM(a.exam)- SUM(a.gingivitis) as nogin,
SUM(a.exam)- SUM(a.disorder) as nodis
FROM
(SELECT denta_id,deciduous_caries,gingivitis,disorder,permanent_no,permanent_caries,student_total,exam FROM denta_list ) a
JOIN denta a1 ON a1.denta_id=a.denta_id
JOIN school s ON s.school_id=a1.school_id
WHERE a1.year = '2558'
AND a1.school_id <> ''
AND a1.school_term_id IN (1)
GROUP BY a1.school_id ORDER BY s.school_type_id ASC ";
$rawdata = Yii::$app->db->createCommand($sql)->queryAll();
$dataProvider = new ArrayDataProvider([
'allModels' => $rawdata,
'pagination' => FALSE,
]);
return $this->render('index', [
'sql' => $sql,
'dataProvider' => $dataProvider,
'school_id' => $school_id,
'year' => $year,
'school_term_id' => $school_term_id,
]);
from
<form method = "post" >
<?php
$items = ArrayHelper::map(School::find()->all(), 'school_id', 'school_name');
echo Html::dropDownList('school_id', $school_id, $items, ['prompt' => '--- โรงเรียน ---']);
?>
<?php
$items = ArrayHelper::map(Year::find()->all(), 'year_id', 'year');
echo Html::dropDownList('year_id', $year, $items, ['prompt' => '--- ปีการศึกษา ---']);
?>
<?php
$items = ArrayHelper::map(Schoolterm::find()->all(), 'school_term_id', 'school_term_name');
echo Html::dropDownList('school_term_id', $school_term_id, $items, ['prompt' => '--- ภาคการศึกษา ---']);
?>
<button class='btn btn-danger'> ตกลง </button>
</form>
