使用php将复选框值存储到mysql数据库

时间:2014-10-13 16:52:49

标签: php mysql checkbox row storage

我在mysql db中存储复选框值时遇到问题。如何修复此代码以存储所有选中的值?

检查行时,必须在数据库中存储七种不同的列

这部分代码负责从数据库中获取数据并将其放在表中:

    while ($row = mysqli_fetch_array($query)) { 
        print  
            "<tr>    <td><input type='checkbox' name='check[]'  value='
            ".$row['course_id'].",
            ".$row['course_name'].",
            ".$row['day'].",
            ".$row['place'].",
            ".$row['hour'].",
            ".$row['type'].",
            ".$row['instructor_name']."' /></td>

            <td>{$row['course_id']}</td>
            <td>{$row['course_name']}</td>
            <td>{$row['day']}</td>
            <td>{$row['place']}</td>
            <td>{$row['hour']}</td>
            <td>{$row['type']}</td>
            <td>{$row['instructor_name']}</td>

             </tr>"; 
      }


     print "</table>
           <input type='submit' name='Submit' value='Submit'>
           </form>";

这部分代码负责将数据存储在数据库中

     if(isset($_POST['check'])){     
    $returned = $_POST['check']; 
    $office = array('course_id','course_name','day','place','hour','type','instructor_name');
    $values = array();

    foreach($office as $selection){ 


$insert1 ="INSERT INTO initial_registration
(course_id,course_name,day,place,hour,type,instructor_name) 
SELECT *
FROM offerd_course";



    mysqli_query($insert1) or die(mysqli_error());  

    } 
 }

1 个答案:

答案 0 :(得分:0)

我认为你的整个设置并不好,这里有一些代码可以帮助你入门:

首先打印所有课程

while ($row = mysqli_fetch_array($query)) { 
    print  
        "<tr>    
        <td><input type='checkbox' name='row_checked_".$row['course_id']."'  value='1' /></td>
        <td>{$row['course_id']}</td>
        <td>{$row['course_name']}</td>
        <td>{$row['day']}</td>
        <td>{$row['place']}</td>
        <td>{$row['hour']}</td>
        <td>{$row['type']}</td>
        <td>{$row['instructor_name']}</td>
        </tr>"; 
  }

然后插入部分:

再次查看所有课程,了解哪些课程已经“检查”

while ($row = mysqli_fetch_array($query)) { 
    if(isset($_POST['row_checked_'.$row['course_id']]) && $_POST['row_checked_'.$row['course_id']]==1){
       //insert query here
    }
}

您的插入查询也搞砸了,为什么要将整个课程插入初始注册?你宁愿做这样的事情:

$insert1 ="INSERT INTO initial_registration (course_id,STUDENT) VALUES ($row['course_id'],$some_student_id_value)";