0
私はcodeigniterのコントローラ関数にjavascript配列をポストし、AJAX経由でデータベースに格納しようとしています。私は単一の値を渡すときに問題はありません。これは配列を渡すのが初めてです。ここCodeIgniter:ViewからControllerへJavascript Arrayを渡してデータベースに格納
は、データが存在しないテーブルに格納されていないコード
//JAVASCRIPT IN THE VIEW (students variable already populated and classCode already has a value)
$.ajax({
traditional: true,
type: 'POST',
url: '<?php echo base_url(); ?>index.php/ams_controller/recordAbsence',
data: 'classCode='+classCode+'&students='+students,
success: function(resp) {
alert("Absences Saved");
}
});
//CONTROLLER FUNCTION
public function recordAbsence() {
$temp=getdate(date("U"));
$date = $temp[month] ." ". $temp[mday] ." ". $temp[year];
$classCode = $this->input->post('classCode');
$students = $this->input->post('students');
$this->load->model('model_users');
if($this->model_users->recordAbsence($classCode, $students, $date)) {
return true;
} else{
return false;
}
}
//MODEL FUNCTION
public function recordAbsence($classCode, $students, $date) {
foreach($students as $row) {
$data = array(
'stud_no' => $row,
'date_of_absence' => $date,
'classCode' => $classCode
);
$query = $this->db->insert('absence', $data);
}
if($query) {
return true;
} else {
return false;
}
}
です。どんな助けもありがとう。オブジェクトのような
回答ありがとうございますが、データはまだデータベースに保存されていません。私はあなたが私に与えたリンクの2つの答えをチェックし、両方を試してみても、それはまだ動作しません。 –
ajaxの前に 'students'変数をデバッグします(' console.log(students); ')。 – Tpojka
ここでは、ajaxコールの前に学生がコンソールに表示する内容を示します:["2014-52307"、 "2014-26571"、 "2014-68959"、 "2014-60379"、 "2014-56077"] –