簡體   English   中英

Codeigniter - 重新填充輸入字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM