使用php在db中插入多行

时间:2017-09-28 10:31:16

标签: php mysql

我试图在db中插入多个数据。如果连续检查复选框,我可以插入连续值的数据。如果我检查中间的复选框,它将不会插入数据。如果您能理解代码,请帮助我。对不起,如果我的英语和我的代码不好。需要帮助

代码看起来像

/[.]{20,}/

插入查询。

<?
                $j=10;
                for($i=1; $i<= $j; $i++) {
                  ?>
                  <script>
                    $(function() {
                    $("#date<? echo $i; ?>").datepicker({
                    //showOn: both - datepicker will appear clicking the input box as well as the calendar icon
                    //showOn: button - datepicker will appear only on clicking the calendar icon
                    showOn: 'button',
                    buttonImage: 'dlcalendar_2.gif',
                    buttonImageOnly: true,
                    changeMonth: true,
                    changeYear: true,
                    showAnim: 'slideToggle',
                    dateFormat: 'yy-mm-dd'
                    });
                    });
                  </script>
                  <tr>
                    <td><input type="checkbox" name="day[]" value="1">
                    Day <?echo $i; ?>&nbsp;<input type="text" name="date[]" id="date<? echo $i; ?>"></td>
                    <td><textarea cols=50 rows=2 name="comment[]"></textarea></td>
                    <td colspan=2 align="center">
                        <select name="vas[]" >
                        <option>--choose--</option>
                        <option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>
                    </select></td>
                </tr>
                <?
                }
                ?>

如果我们有10行,如果我选择第2行,第7行和第9行,则必须只取这些行的值,并且必须插入所选行中的所有记录。

1 个答案:

答案 0 :(得分:2)

这里的问题是day[]数组只包含已选中的复选框,另一方面其他数组也包含空元素,因此只有在连续字段中输入值时,代码才有效。要解决此问题,您可以删除复选框并从date[]数组的键中获取它们的值。您可以使用以下内容:

    foreach ($_POST['date'] as $key => $date) {
      if (!$date) {continue;}
      // get the day value
      $day = $key + 1;
      $comment = mysql_real_escape_string($_POST['comment'][$key]);
      $date = mysql_real_escape_string($date);
      // check if vas is choosed
      if ($_POST['vas'][$key] != "--choose--") {
        $vas = mysql_real_escape_string($_POST['vas'][$key]);
      } else {
        $vas = "";
      }
      $insert = "insert into spinal(day,ddate,comments,vas)    values('".$day2."',
  '".$date."','".$comment."','".$vas."')";
      echo $insert;
      mysql_query($insert);}

我希望这会有所帮助。