php - 将多个复选框插入数据库 Html Php

标签 php jquery mysql sql checkbox

所以我有一个表,我将复选框值加载到其中。单击复选框后,我使用提交按钮将它们保存到数据库中。但目前我一次只能保存一行?我需要能够将所有单击的复选框保存到数据库中

例如我有 5 行。如果第 2 行和第 3 行上的复选框被选中,那么它们应该被保存到数据库中,但现在只有最后单击的(第 3 行)被保存到数据库中。 这是我到目前为止的代码

PHP连接代码

<?php
   // Get a db connection.
   $db = JFactory::getDbo();

   // Create a new query object.
   $query = $db->getQuery(true);


   $query->select($db->quoteName(array('CV_ID', 'Classifier', 'Value')));
   $query->from($db->quoteName('classvalues'));

   // Reset the query using our newly populated query object.
   $db->setQuery($query);

   // Load the results as a list of stdClass objects (see later for more options on retrieving data).
   $results = $db->loadObjectList();
 ?>

使用复选框代码加载表格

<form name="names" id="names" action="<?php echo JURI::current(); ?>" method="post"> 
   <table border="5",th,td, cellspacing="5", cellpadding="5", width="500", align="left">
     <tr>
       <th>CV_ID</th>
       <th>Classifier</th>
       <th>Level</th>
     </tr>

     <?php foreach ($results as $row): ?>

     <tr>
      <td> <input type="checkbox" id="chk113" name="CV_ID" value="<?php echo $row->CV_ID ?> "/>
      <label for="chk113"><?php echo $row->CV_ID ?> </label> </td>

      <td> <input type="checkbox" id="chk111" name="Classifier" value="<?php echo $row->Classifier ?>"/>
      <label for="chk111"><?php echo $row->Classifier ?></label> </td>

      <td> <input type="checkbox" id="chk112" name="Value" value="<?php echo $row->Value ?>"/>
      <label for="chk112"><?php echo $row->Value ?></label> </td>
    </tr>

    <?php endforeach ?>
  </table>

    <p><input id="submit" name="submit" type="submit" value="Submit Names" /></p>
 </form>

正在保存 ?>

 <?
   if( (isset($_POST['CV_ID'])) || (isset($_POST['Classifier'])) || (isset($_POST['Value'])) ) {
   //first name or last name set, continue-->
   $CV_ID = $_POST['CV_ID'];
   $Classifier= $_POST['Classifier'];
   $Value= $_POST['Value'];

   $db =& JFactory::getDBO();
   $query = "INSERT INTO SessionTa (CV_ID, Classifier, Value) VALUES ('".$CV_ID."','".$Classifier."','".$Value."');";


   $db->setQuery( $query );
   $db->query();

   } else {
   }
 ?>

最佳答案

表单中的每个复选框似乎都具有相同的名称。尝试将它们命名为数组,例如

<input type="checkbox" id="chk113" name="CV_ID[]" value="<?php echo $row->CV_ID ?> "/>  

注意额外的“[]”。此时,您可以在保存的 php 文件中 print_r($_POST) 来查看差异。因此,您的数据库更新逻辑可能需要调整

关于php - 将多个复选框插入数据库 Html Php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22391980/

相关文章:

mysql - 使用 Neo4j ETL CLI 工具从 MySQL 数据库加载时出现问题

mysql - 从 mySQL 数据库中获取类型为 'text' 的值

php - 在 laravel 4 中更改 mysql 端口

javascript - 我尝试存储在数据库中的任何内容都输入值 '0'

PHP - 只允许通过 AJAX 访问

javascript - 如何使用 jquery 清空嵌套 <li> 中的 <ul>

php - 如何在 Laravel 中执行此操作,使用 join 进行子查询

php - 如何将json字段中的数组数据显示到 Blade View ?

jquery - 将函数绑定(bind)到 after() before() prepend()

mysql - 如果某个项目出现超过 10 次,请将其删除并存储新的