【问题标题】:how to use checkbox and input type number together in php如何在php中同时使用复选框和输入类型号
【发布时间】:2018-11-28 14:21:47
【问题描述】:

我正在使用 php 创建会议室预订应用程序。在那里,当一个人预订房间时,可以选择预订茶或小吃并指定他们需要的物品数量。为此,我使用复选框来选择项目并输入类型编号来指定项目的数量。即,如果选择了茶,则必须指定编号。输入字段中的茶。我的问题是我不能一起存储或显示复选框值和关联的数字。我的代码是

<form class="form-horizontal" method="post" id="bookroom" action="bookedreview.php">
<h4>Food & Beverages</h4>
<div class="checkbox">
 <input type="checkbox" value="tea" name="food[]"><label>Tea</label>
 <input type="number" name="foodnum[]">
</div>
<div class="checkbox">
    <input type="checkbox" value="coffee" name="food[]"><label>Coffee</label>
    <input type="number" name="foodnum[]">
</div>
<div class="checkbox">
    <input type="checkbox" value="snacks" name="food[]"><label>Snacks</label>
    <input type="number" name="foodnum[]">
</div>
<div class="checkbox">
    <input type="checkbox" value="water" name="food[]"><label>Water</label>
    <input type="number" name="foodnum[]">
</div>
<div class="checkbox">
    <input type="checkbox" value="nuts" name="food[]"><label>Nuts</label>
    <input type="number" name="foodnum[]">
</div>
<div class="checkbox">
    <input type="checkbox" value="breakfast" name="food[]"><label>Breakfast</label>
    <input type="number" name="foodnum[]">
</div>
<div class="checkbox">
    <input type="checkbox" value="lunch" name="food[]"><label>Lunch</label>
    <input type="number" name="foodnum[]">
</div>
<div class="checkbox">
    <input type="checkbox" value="dinner" name="food[]"><label>Dinner</label>
    <input type="number" name="foodnum[]">
</div>
<input type="submit" name="submit" value="value">
</form>


if (isset($_POST['submit']))
{
  $foodnum=$_POST['foodnum'];
  $food=$_POST['food'];
  //$food=implode(',',$_POST['food']);
  foreach($foodnum as $index =>$value){
    $fud=$value;
    $num=$foodnum['index'];
 }
}

但是当我显示变量时,我无法得到结果。谁能帮助我如何将已检查的项目和相关数量存储在一起。

【问题讨论】:

  • 您想在何时何地保存它们?点击按钮?
  • "var_export" 你的 "$_POST"-array 可以帮助你找到问题,而不是你看到表单值是如何存储的
  • 你能解释一下究竟是什么不起作用吗?

标签: php html checkbox


【解决方案1】:

您可以通过在文本框名称数组中传递食物名称来获取

    <form class="form-horizontal" method="post" id="bookroom" action="">
    <h4>Food & Beverages</h4>
    <div class="checkbox">
     <input type="checkbox" value="tea" name="food[]"><label>Tea</label>
     <input type="number" name="foodnum[tea]">
    </div>
    <div class="checkbox">
        <input type="checkbox" value="coffee" name="food[]"><label>Coffee</label>
        <input type="number" name="foodnum[coffee]">
    </div>
    <div class="checkbox">
        <input type="checkbox" value="snacks" name="food[]"><label>Snacks</label>
        <input type="number" name="foodnum[snacks]">
    </div>
    <div class="checkbox">
        <input type="checkbox" value="water" name="food[]"><label>Water</label>
        <input type="number" name="foodnum[water]">
    </div>
    <div class="checkbox">
        <input type="checkbox" value="nuts" name="food[]"><label>Nuts</label>
        <input type="number" name="foodnum[nuts]">
    </div>
    <div class="checkbox">
        <input type="checkbox" value="breakfast" name="food[]"><label>Breakfast</label>
        <input type="number" name="foodnum[breakfast]">
    </div>
    <div class="checkbox">
        <input type="checkbox" value="lunch" name="food[]"><label>Lunch</label>
        <input type="number" name="foodnum[lunch]">
    </div>
    <div class="checkbox">
        <input type="checkbox" value="dinner" name="food[]"><label>Dinner</label>
        <input type="number" name="foodnum[dinner]">
    </div>
    <input type="submit" name="submit" value="value">
    </form>
    <?php

 if (isset($_POST['submit']))
{
    $foodnum=$_POST['foodnum'];
    $food=$_POST['food'];


      echo "<table border='1' style='width:100%'><tr><th>Food Name</th><th>Count</th></tr>";
    // output data of each row
   foreach($food as $foo)
    {
        echo "<tr><td>".$foo."</td><td>".$foodnum[$foo]."</td></tr>";
    }
    echo "</table>";
}

    ?>

用于插入

     foreach($food as $foo)
            {
$fieldVal1=$foo;
$fieldVal1=$foodnum[$foo];
        $query ="INSERT INTO foodcounts( foodsname, cnt) VALUES ('".$fieldVal1."','".$fieldVal2."' )";
        mysqli_query($conn, $query);
            }

【讨论】:

  • 谢谢,兄弟。它工作正常..有没有办法在循环外显示值
  • 对不起,我不是这个意思。我的意思是,有没有办法在网页的任何地方的循环之外显示它,或者我是否需要在我想要的地方插入循环显示
  • 你能帮我把它插入数据库吗
  • 有很多例子可以插入数据库
  • 不,我要问的是,当一个人预订茶 10 和小吃 9 时,我如何使用逗号分隔符将其插入数据库
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-25
  • 1970-01-01
  • 2014-01-30
  • 2020-06-24
  • 1970-01-01
  • 2013-09-05
相关资源
最近更新 更多