将多维数组保存到mysql数据库中

时间:2015-07-05 05:17:13

标签: php mysql arrays database multidimensional-array

这是我的表格代码,

    <table id="dataTable" class="form-control">
      <label for="Monday">Monday</label>
      <input type="button" value="Add Schedule" onClick="addRow('dataTable')" />
      <tbody>
        <tr>
          <p>
            <td>
              <label>Start Time</label>
              <input type="text" class="form-control" name="startTime[1][]">
            </td>
            <td>
              <label>End Time</label>
              <input type="text" class="form-control" name="endTime[1][]">
            </td>
        </tr>
      </tbody>
    </table>
    </div>
    </div>

    <div class="form-group">
      <div class="col-sm-7">
        <table id="dataTable1" class="form-control">
          <label for="Monday">Tuesday</label>
          <input type="button" value="Add Schedule" onClick="addRow('dataTable1')" />
          <tbody>
            <tr>
              <p>
                <td>
                  <label>Start Time</label>
                  <input type="text" class="form-control" name="startTime[2][]">
                </td>
                <td>
                  <label>End Time</label>
                  <input type="text" class="form-control" name="endTime[2][]">
                </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>

    <div class="form-group">
      <div class="col-sm-7">
        <table id="dataTable2" class="form-control">
          <label for="Monday">Wednesday</label>
          <input type="button" value="Add Schedule" onClick="addRow('dataTable2')" />
          <tbody>
            <tr>
              <p>
                <td>
                  <label>Start Time</label>
                  <input type="text" class="form-control" name="startTime[3][]">
                </td>
                <td>
                  <label>End Time</label>
                  <input type="text" class="form-control" name="endTime[3][]">
                </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>

    <div class="form-group">
      <div class="col-sm-7">
        <table id="dataTable3" class="form-control">
          <label for="Monday">Thursday</label>
          <input type="button" value="Add Schedule" onClick="addRow('dataTable3')" />
          <tbody>
            <tr>
              <p>
                <td>
                  <label>Start Time</label>
                  <input type="text" class="form-control" name="startTime[4][]">
                </td>
                <td>
                  <label>End Time</label>
                  <input type="text" class="form-control" name="endTime[4][]">
                </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>

    <div class="form-group">
      <div class="col-sm-7">
        <table id="dataTable4" class="form-control">
          <label for="Monday">Friday</label>
          <input type="button" value="Add Schedule" onClick="addRow('dataTable4')" />
          <tbody>
            <tr>
              <p>
                <td>
                  <label>Start Time</label>
                  <input type="text" class="form-control" name="startTime[5][]">
                </td>
                <td>
                  <label>End Time</label>
                  <input type="text" class="form-control" name="endTime[5][]">
                </td>
            </tr>
          </tbody>
        </table>

添加计划”按钮允许用户添加另一行“特定日期的开始时间和结束时间。”

这是我从表单中获取值到数据库的代码,

<?php 

if (mysqli_connect_errno($con)) { 
  echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

 else { 
  foreach($_POST[ "startTime"] as $day=>$startTimes){ 

    foreach($startTimes as $timeIndex=>$startTime){ 

      $endTime = $_POST["endTime"][$day][$timeIndex]; 

        $sql = "INSERT INTO timetableschedule (name, day, startTime, endTime) VALUES ('$name', '$day', '$startTime', '$endTime')"; 

    } 

  } 

if (!mysqli_query($con,$sql)) { 
die('Error: ' . mysqli_error($con)); 
} 

echo "Records added"; 
mysqli_close($con); 

} 

?>

$ day 是指星期几。所以星期一将用“1”表示,依此类推。

$ timeIndex 是指它所代表的行数。例如,输入“Monday 1200h 1300h”,这是第1行,但在数组中,该值将为“0”。如果在星期一输入另一组值,“星期一1500h 2100h”这将是第2行,在数组中它将是“1”。

遇到问题 当回显输入表格的信息时,

echo $ timeIndex。$ startTime。 $天。 $ ENDTIME;

我会得到,

0 1200 1 1300 //第一行进入星期一

1 1400 1 1500

2 1700 1 1900

0 1300 2 1500 //星期二

1 1600 2 1700

0 1400 5 1700 //星期五

但是当我执行php代码将值输入数据库时​​,只有最后一行数据输入到数据库中。仅表示仅输入“0 1400 5 1700”。

我希望星期一的数据也能输入到数据库中,但我不知道应该输入什么代码才能使其正常工作。

0 个答案:

没有答案