【问题标题】:how can i save input value from foreach loop in codeigniter如何在codeigniter中保存foreach循环的输入值
【发布时间】:2018-02-20 14:55:12
【问题描述】:

$all_student_record_info

有学生详细信息,例如学生姓名父亲姓名卷号。和部分等最后一个输入字段<td><input type="text" name="score[]"></td>

用于输入每个学生的分数。如何在 MySQL 中保存每个学生的分数。我真的不知道如何编写代码以从 foreach 循环中保存。

<?php if (!empty($all_student_record_info)): foreach ($all_student_record_info as $v_student_record) : ?>

       <tr>
       <td><input type="hidden" name="student_id[]"  value="<?php echo $v_student_record->student_id ?>"> <?php echo $v_student_record->student_id ; ?></td>
       <td><input type="hidden" name="school_id[]"  value="<?php echo $v_student_record->school_id ?>"> <?php echo $v_student_record->school_name ?></td>
       <td><input type="hidden" name="class_id[]"  value="<?php echo $v_student_record->class_id ?>"> <?php echo $v_student_record->classes_name ?></td>
       <td><input type="hidden" name="section_id[]"  value="<?php echo $v_student_record->section_id ?>"> <?php echo $v_student_record->section_name ?></td>                                
       <td><?php echo $v_student_record->student_name ?></td>
       <td><?php echo $v_student_record->student_father_name ?></td>
       <td><?php echo $v_student_record->student_contact_number ?></td>
       <td><?php echo $v_student_record->student_address ?></td>                                
       <td><input type="text" name="score[]"></td>                              
       </tr>
<?php
endforeach;
        ?>
<?php else : ?>
      <td colspan="3">
      <strong>There is no data to display</strong>
      </td>
<?php endif; ?>

请提供任何帮助。 MySQL 表会是这样的

score_id | student_id | school_id | class_id | section_id | score

【问题讨论】:

标签: php mysql codeigniter foreach


【解决方案1】:

如果我对您的理解正确 - 您必须对数据进行分组的问题 - 否则无法正确分配数据

你可以试试这个

<?php 
if (!empty($all_student_record_info)): 
    foreach ($all_student_record_info as $v_student_record) : 
?>
 <tr>
    <td><input type="hidden" name="score[<?=$v_student_record->score_id; ?>][student_id]"  value="<?php echo $v_student_record->student_id ?>"> <?php echo $v_student_record->student_id ; ?></td>
    <td><input type="hidden" name="score[<?=$v_student_record->score_id; ?>][school_id]"  value="<?php echo $v_student_record->school_id ?>"> <?php echo $v_student_record->school_name ?></td>
    <td><input type="hidden" name="score[<?=$v_student_record->score_id; ?>][class_id]"  value="<?php echo $v_student_record->class_id ?>"> <?php echo $v_student_record->classes_name ?></td>
    <td><input type="hidden" name="score[<?=$v_student_record->score_id; ?>][section_id]"  value="<?php echo $v_student_record->section_id ?>"> <?php echo $v_student_record->section_name ?></td>                                
    <td><?php echo $v_student_record->student_name ?></td>
    <td><?php echo $v_student_record->student_father_name ?></td>
    <td><?php echo $v_student_record->student_contact_number ?></td>
    <td><?php echo $v_student_record->student_address ?></td>                                
    <td><input type="text" name="score[<?=$v_student_record->score_id; ?>][score]"></td>                              
 </tr>
<?php
    endforeach;
else : 
?>
      <td colspan="3">
      <strong>There is no data to display</strong>
      </td>
<?php 
endif; 
?>

现在,如果您查看@your post 数组,您会看到您的数据按 score_id 分组(我假设这是所需的字段 - 因为您将其列为 mysql 示例中的第一项)

【讨论】:

  • 以及我如何在控制器中写入以保存在 mysql 中
  • bytheway $all_student_record_info 从不同的表中获取数据并且没有列 score_id 。我正在从 studentrecord 表中获取学生姓名类等,并将带有学生 ID 的分数保存到 student_score 表中,该表具有 score_id 列和 auto_increment
  • 没有冒犯,我给了你一个如何解决这些问题的可能性,如果你尝试了一些不起作用的东西 - 我当然愿意提供帮助,但我不会写为您提供完整的控制器代码
猜你喜欢
  • 2019-03-24
  • 2016-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-21
  • 2013-11-16
  • 2021-08-03
  • 2019-06-17
相关资源
最近更新 更多