php - 复选框仅返回第一个值

标签 php html checkbox

我正在创建一个带有复选框的表单。但不知何故我只得到第一个结果..

希望能帮到你!

<strong>My form </strong>

<form action="historie.php" method="post">
<?php
// ophalen van bijbehorende producten
    $sql_product_opzoek = "SELECT * FROM product_bestellingen WHERE bestelnummer = $bestelnummer_opzoek";
    $sql_p_opzoek = mysqli_query($con, $sql_product_opzoek);
    $count = 0;
    while ($row = mysqli_fetch_array($sql_p_opzoek)) {

        $artikelnr_retour = $row['artikelnr'];
        $merk_retour = $row['merk'];
        $artikelnr_lev_retour = $row['artikelnr_lev'];
        $kleur_retour = $row['kleur'];
        $maat_retour = $row['maat'];
        $prijs_retour = $row['prijs'];


        if ($count === 0) {
            $sql_opzoek = "SELECT * FROM bestellingen WHERE bestelnummer = $bestelnummer_opzoek";
            $sql_b_opzoek = mysqli_query($con, $sql_opzoek);

            while ($row = mysqli_fetch_array($sql_b_opzoek)) {
                $tent = $row['tent'];
            }

            echo $tent;
        }

        echo "
            <input type=\"checkbox\" name=\"retour[" . $artikelnr_retour . "]\" value=\"" . $artikelnr_retour . "\">
            <input type=\"hidden\" name=\"merk\" value=\"" . $merk_retour . "\">
            <input type=\"hidden\" name=\"art_lev\" value=\"" . $artikelnr_lev_retour . "\">

            <input type=\"hidden\" name=\"kleur\" value=\"" . $kleur_retour . "\">
            <input type=\"hidden\" name=\"maat\" value=\"" . $maat_retour . "\">
            <input type=\"hidden\" name=\"prijs\" value=\"" . $prijs_retour . "\">
            <input type=\"hidden\" name=\"bestelnummer\" value=\"" . $bestelnummer_opzoek . "\">
        ";

        if ($count === 0) {
            echo "<input name=\"submit\" type=\"submit\">";
        }

    echo "</form>";
        $count++;
}

这将产生下一个 HTML

<strong>HTML</strong>
<form action="historie.php" method="post">
    <tr>
        <td>654655</td>
        <td>Huggo Boss</td>
        <td>xwsmcdD</td>
        <td> 13</td>
        <td>45</td>
        <td>€ 99,95</td>
        <td>123456</td>
        <td>
            <input type="checkbox" name="retour[654655]" value="654655">
            <input type="hidden" name="merk" value="Huggo Boss">
            <input type="hidden" name="art_lev" value="xwsmcdD">

            <input type="hidden" name="kleur" value=" 13">
            <input type="hidden" name="maat" value="45">
            <input type="hidden" name="prijs" value="99,95">
            <input type="hidden" name="bestelnummer" value="987654">
        </td>
        <td><input name="submit" type="submit"></td>
    </tr>
</form>
    <tr>
        <td>100254</td>
        <td>Maripe</td>
        <td>Stun</td>
        <td> 66</td>
        <td>33</td>
        <td>€ 295,95</td>
        <td></td>
        <td>
            <input type="checkbox" name="retour[100254]" value="100254">
            <input type="hidden" name="merk" value="Maripe">
            <input type="hidden" name="art_lev" value="Stun">

            <input type="hidden" name="kleur" value=" 66">
            <input type="hidden" name="maat" value="33">
            <input type="hidden" name="prijs" value="295,95">
            <input type="hidden" name="bestelnummer" value="987654">
        </td>
        <td></td>
    </tr>
</form>

为了获得结果,我使用了下一个 PHP

PHP获取结果

 foreach ($_POST['retour'] as $value) {
     echo $value; 
 }

这仅产生第一个结果:654655

希望能帮到你!

最佳答案

您的表单在第二个复选框之前关闭。请尝试以下代码:-

 <strong>HTML</strong>
<form action="historie.php" method="post">
    <tr>
        <td>654655</td>
        <td>Huggo Boss</td>
        <td>xwsmcdD</td>
        <td> 13</td>
        <td>45</td>
        <td>€ 99,95</td>
        <td>123456</td>
        <td>
            <input type="checkbox" name="retour[654655]" value="654655">
            <input type="hidden" name="merk" value="Huggo Boss">
            <input type="hidden" name="art_lev" value="xwsmcdD">

            <input type="hidden" name="kleur" value=" 13">
            <input type="hidden" name="maat" value="45">
            <input type="hidden" name="prijs" value="99,95">
            <input type="hidden" name="bestelnummer" value="987654">
        </td>
        <td></td>
    </tr>

    <tr>
        <td>100254</td>
        <td>Maripe</td>
        <td>Stun</td>
        <td> 66</td>
        <td>33</td>
        <td>€ 295,95</td>
        <td></td>
        <td>
            <input type="checkbox" name="retour[100254]" value="100254">
            <input type="hidden" name="merk" value="Maripe">
            <input type="hidden" name="art_lev" value="Stun">

            <input type="hidden" name="kleur" value=" 66">
            <input type="hidden" name="maat" value="33">
            <input type="hidden" name="prijs" value="295,95">
            <input type="hidden" name="bestelnummer" value="987654">
        </td>
        <td></td>
    </tr>
    <input name="submit" type="submit">
</form>

关于php - 复选框仅返回第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25544732/

相关文章:

javascript - 使用 PHP 按一天中的时间禁用 div 类中的 href 按钮

php - 如何找到完成百分比?

php - 什么持续集成工具适合php?

php - 用php实现倒数计时器

javascript - 保存复选框

c# - 在 DataList 中使用 checkBox 和 textBox

jQuery 通过名称[值][id] 访问输入字段

Internet Explorer 上的 Javascript 语法错误

html - 带有侧边栏的粘性页脚

html - center 标签工作正常,但 align 属性不行!可能是什么问题?