2013-04-14 129 views
0

我有一个学期的上传结果表单。在那里我已经收集了一定semester.but我的问题是我不能结果插入到database.only单行插入所有的科目和学生名单,如何将多行插入到mysql数据库

控制器

$data=array(); 
    for($i=0;$i<count($_POST['Number']);$i++){ 
      if($_POST['Number'][$i] != ''){ 
       $data=array(
         'Id'=>$_POST['id'][$i], 
         'Dept'=>$_POST['Dept'][$i], 
         'SubjectCode'=>$_POST['sCode'][$i], 
         'SubjectName'=>$_POST['sName'][$i], 
         'Semister'=>$_POST['Semister'][$i], 
         'MidNumber'=>$_POST['Number'][$i] 
         ); 
       $this->load->model('Upload_Result_model'); 
       $this->Upload_Result_model->upload_midResult($data); 
      } 
    } 

形式:

<table> 
<tr> 
    <th>Student ID</th> 
    <?php foreach($subjects as $s):?> 
    <th><?php echo $s->subjectName; echo "<br>"; echo "(".$s->subjectCode.")"; ?></th> 
    <?php foreach($student as $st):?> 
    <input type='hidden' id='id[]' name='id[]' value='<?php echo $st->Id;?>'> 
    <?php endforeach;?> 
    <input type='hidden' name='Dept[]' id='Dept[]' value=<?php echo $Dept;?>> 
    <input type='hidden' name='Semister[]' id='Semister[]' value=<?php echo $Semister;?>> 
    <input type='hidden' id='sCode[]' name='sCode[]' value='<?php echo $s->subjectCode?>'> 
    <input type='hidden' id='sName[]' name='sName[]' value='<?php echo $s->subjectName?>'> 
    <?php endforeach;?> 
</tr> 
<?php foreach($student as $st):?> 
<tr> 
    <td><?php echo $st->Id?></td> 
    <?php for($i=0;$i<count($subjects);$i++):?> 
    <td><input type='text' size='7' id='Number[]' name='Number[]'/></td> 
    <?php endfor;?> 
</tr> 

这将是对我非常有帮助,如果有人解决这个问题

回答

0

我认为

foreach($student as $st): 

应该在之后。现在你打开了多行,但没有关闭它们。此外,Ids在2 for循环内,因此它们比其他元素多,我不确定这是否是您尝试执行的操作。

所以,如果这是确定你可以尝试:

$Numbers = @$_POST['Number']; 
    $ids = @$_POST['id']; 

    foreach($Numbers as $a => $b) 
    { 
     if($Numbers[$a]!='') 
     { 
     $data=array(
        'Id'=>$ids[$a];, ... } 
     } 
    } 
1

我不认为HTML表单元素将进来作为PHP数组。请尝试执行print_r($_POST);查看传递的变量及其值。他们可能会以逗号分隔进来。

我想你可能需要做一些像$_POST['id']=explode(',',$_POST['id']);等,以解决您的问题

Numbers变量也有其他的问题,你应该看看到