[英]Codeigniter - Repopulation Of Input Field
我的頁面上有一些輸入字段,我希望在保存時重新填充。 這些值被輸入到數據庫中,我希望在輸入字段中回顯這些值,以便用戶可以看到他們插入的內容。
看法
<div class="col-lg-1">
<label>Test1 </label>
<input type="number" name="ft_ca1[]" min="0" max="10" class="form-control input-sm rounded-0" value="<?php echo $student->ft_scores? $student->ft_scores->ft_ca1: 0; ?>">
</div>
Model
public function get_student_ftscore($subjectId,$sessionId,$sectionId,$classId,$studentId){
$sql = "SELECT mp.id, mp.student_id, mp.class_id, mp.section_id, mp.ft_ca1, mp.ft_ca2, mp.ft_ca3, mp.ft_ca4, mp.ft_ca5, mp.ft_ca6, mp.ft_project, mp.ft_affective, mp.ft_psychomotor, mp.ft_exam, mp.ft_tot_score, mp.created_at, mp.modified_at
FROM ftscores_primary mp
WHERE mp.class_id = ? AND mp.student_id = ? AND mp.section_id = ? AND mp.subject_id = ? AND mp.session_id = ?
UNION
SELECT mt.id, mt.student_id, mt.class_id, mt.section_id, mt.ft_ca1, mt.ft_ca2, mt.ft_ca3, mt.ft_ca4, mt.ft_ca5, mt.ft_ca6, mt.ft_project, mt.ft_affective, mt.ft_psychomotor, mt.ft_exam, mt.ft_tot_score, mt.created_at, mt.modified_at
FROM ftscores_rn mt
WHERE mt.class_id = ? AND mt.student_id = ? AND mt.section_id = ? AND mt.subject_id = ? AND mt.session_id = ?";
$query = $this->db->query($sql, array($classId, $studentId, $sectionId, $subjectId, $sessionId, $classId, $studentId, $sectionId, $subjectId, $sessionId));
$result = $query->row();
return $result;
}
Controller
public function GetClassStudentsForSubjectft()
{
$class_id = $this->input->post('class_id');
$section_id = $this->input->post('section_id');
$subject_id = $this->input->post('subject_id');
$data['class_id'] = $class_id;
$data['subject_id'] = $subject_id;
$data['section_id'] = $section_id;
$data['subjects'] = $this->subject_model->getAll();
$class = $this->class_model->get();
$data['classlist'] = $class;
$data['session_name'] = $this->setting_model-> getCurrentSessionName();
$session_id = $this->setting_model->getCurrentSession();
$students = $this->student_model->GetClassStudentsForSubjectft($session_id, $class_id, $section_id);
$data['students'] = [];
if(!empty($subject_id)){
foreach($students as $student){
$ftscore = $this->ftprimary_model->get_student_ftscore($subject_id,$session_id,$section_id,$class_id,$student->student_id);
$student->ftscores = $ftscore;
$data['students'][] = $student;
}
}
我建議您使用 session 將輸入的數據保存到數組中,然后在數據成功保存到數據庫后重定向回初始頁面。 您應該檢查您的 codeigniter 版本是否具有 flash 消息的概念。 這用於僅在頁面上和刪除后保存一些數據。 然后在您的表單中,您將檢查數據是否已設置而不是 null,如果已設置則回顯它。 如果你只是學習,我會建議你開始學習 codeigniter 4.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.