将array_intersect_key数组数据插入数据库表

时间:2013-11-16 19:48:43

标签: php arrays

我是编程新手,我创建了一个包含多个复选框和文本字段的表单。如果选中该复选框,则会激活每个文本字段。交叉键数组用于获取所有选中的复选框名称和文本字段值。我想将这些数组数据插入到数据库表中。

任何人都可以给我一些代码来执行此操作。谢谢:))

这是function.php文件

    global $usedTexts;
    $usedTexts = array();

    function postdata(){
        if ( isset($_POST['submit']) && array_key_exists("t", $_POST)  && is_array($_POST["t"]) && array_key_exists("cb", $_POST) && is_array($_POST["cb"])) {
             $usedTexts = array_intersect_key($_POST["t"], $_POST["cb"]);
        }
    }

这是index.php文件

  <?php include_once("function.php"); ?>
  <?php postdata(); ?>

  <form action="" method="post">
      <input type="checkbox" name="cb[1]" value="" onclick="document.getElementById('t1').disabled=!this.checked;" />
      <input type="number" max="5" min="1" id="t1" name="t[1]" value="" disabled="disabled" /> <br /><br />

      <input type="checkbox" name="cb[2]" value="" onclick="document.getElementById('t2').disabled=!this.checked;"/>
      <input type="number" max="5" min="1"id="t2" name="t[2]" value="" disabled="disabled" /><br /><br />

      <input type="checkbox" name="cb[3]" value="" onclick="document.getElementById('t3').disabled=!this.checked;"/>
      <input type="number" max="5" min="1"id="t3" name="t[3]" value="" disabled="disabled" /><br /><br />

      <input type="checkbox" name="cb[4]" value="" onclick="document.getElementById('t4').disabled=!this.checked;"/>
      <input type="number" max="5" min="1"id="t4" name="t[4]" value="" disabled="disabled" /><br /><br />

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

1 个答案:

答案 0 :(得分:1)

你能试试吗,

      if ( isset($_POST['submit']) && array_key_exists("t", $_POST)  && is_array($_POST["t"]) && array_key_exists("cb", $_POST) && is_array($_POST["cb"])) {
        $usedTexts = array_intersect_key($_POST["t"], $_POST["cb"]);

                foreach($usedTexts as $subjectId=>$subjectExp){

                    $query=  "insert into mysubjects (subjectId, subjectExp) values('".$subjectId."','".$subjectExp."')";
                    //execute your query, before that make sure you have established the database connection
                }               

      }