与服务有关的活动可以正确显示

时间:2018-07-31 10:44:43

标签: php html checkbox

我想存储服务的相关活动

<form method='post' id='userform' action='arrayvalue.php'>
  <tr>
    <td>Trouble Type</td>
    <br>
    <td>
      <input type='checkbox' name='servicevar[]' value='tds'>tds<br> <br>

      <input type='checkbox' name='activityvar[]' value='One'>Return<br>
      <input type='checkbox' name='activityvar[]' value='Two'>Filling<br>
      <br>


      <input type='checkbox' name='servicevar[]' value='Gst'>Gst<br> <br>
      <td>

        <input type='checkbox' name='activityvar[]' value='One'>Return<br>
        <input type='checkbox' name='activityvar[]' value='Two'>Filling<br>
        <br>
      </td>
  </tr>
  </table> <input type='submit' name="submit" class='buttons'>
</form>

<?php if(isset($_POST[submit]) {
    $activity = $_POST['activityvar']; 
    $service = $_POST['servicevar'];

    foreach ($service as $key => $value) {
        echo ($value);
        echo "<br>";

        foreach ($activity as $key => $value) {
            echo ($value);
            echo "<br>";
        }
    }
}

我的输出:

  • tds

    • 一个
    • 两个
    • 一个
    • 两个
  • Gst

    • 一个
    • 两个
    • 一个
    • 两个

预期输出:

  • tds
    • 一个
    • 两个
  • Gst
    • 一个
    • 两个

1 个答案:

答案 0 :(得分:0)

尝试使用一个像索引的foreach循环:

if(isset($_POST[submit]) {
    $activity = $_POST['activityvar']; 
    $service = $_POST['servicevar'];
    $index = 0;

    foreach ($service as $key => $value) {
        echo $value;

        echo $activity[$index]; $index++;
        echo $activity[$index]; $index++;

    }
}

编辑:要将数据存储在数据库中,请使用类似的概念:

if(isset($_POST[submit]) {
    $activity = $_POST['activityvar']; 
    $service = $_POST['servicevar'];
    $index = 0;
    $nbr_of_related_activities = 2;

    foreach ($service as $key => $value) {
        $servicevalue = $value;

        for ($i=0; $i<$nbr_of_related_activities;$i++) {
            $activityvalue = $activity[$index+$i];

            $query = "insert into serviceacitivitymap(service_id,activity_id) values('$servicevalue','$activityvalue')";
            $insert_row = $conn->query($query) or die ($conn->error.__LINE__);
        }
        $index += $nbr_of_related_activities;
    }
}