【问题标题】:Activities related to services display properly与服务相关的活动正确显示
【发布时间】:2018-08-01 19:02:04
【问题描述】:

我要存储服务的相关活动

<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

    • 一个
    • 两个
    • 一个
    • 两个
  • 消费税

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

预期输出:

  • tds
    • 一个
    • 两个
  • 消费税
    • 一个
    • 两个

【问题讨论】:

    标签: php html checkbox


    【解决方案1】:

    尝试使用 One 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;
        }
    }
    

    【讨论】:

    • 先生,感谢您的帮助,但是当我将此值存储在数据库中时,$query = "insert into serviceacitivitymap(service_id,activity_id)values('$value','$activity[$index]')" ; $value 商店服务相关活动不
    • 输出 tds->1,2 Gst->1,2 显示是正确的,但是存储在数据库 tds 和 gst 存储中但相关的活动不存储 $query = "插入到 serviceacitivitymap(service_id,activity_id )values('$value','$activity[$index]')";
    • 我认为这将是另一个问题,不是吗?我们需要有关此问题的信息以及相关代码...因此,如果我的帖子回答了您发布的问题,请将其标记为正确答案并尝试发布另一个问题,我也会与您一起检查。
    • 像这样,我们为未来的读者保留想法meta.stackexchange.com/questions/5234/…
    • kk先生,我会发布我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多