0

我使用 php 在网页中打印此表单:

<?php
    include("connectDB.php");
    $mySQL=new MySQL();
    $queryResult=$mySQL->query("SELECT nombre, precio, id_producto FROM productos");
    echo "<form action= 'checkout.php'> method=''POST'";
    while($datos=$mySQL->fetch_array($queryResult))
    {   
        $n = 1;
        $nombre=$datos['nombre'];
        $id_producto=$datos['id_producto'];
        $precio=$datos['precio'];

        echo "<h1>$nombre</h1>";
        echo "<input type=\"checkbox\" name=\"$id_producto\" value=\"$nombre\"> Cantidad: <input type=\"number\" name=\"points\" min=\"1\" max=\"20\" step=\"1\" value=\"1\"><br>";
        echo "<h3>  Precio: $precio<br>";

    }

    echo "<br>";
    echo "<input type=\"submit\" class=\"button\" value=\"Comprar\">";
    echo "</form>";
?>

所以它显示了一个可以选择或检查的项目列表(其中的一个表单),在提交时,我只想对$_POST['']已检查的项目进行处理,我该如何解决这个问题?

4

1 回答 1

1

打印此类复选框时,仅提交已选中的那些值。

如果我理解正确,您想检索那些已发布的内容,您可以使用这个简单的方法进行操作

    foreach($_POST as $post_key => $post_value){

        //Check that the particular input is int and numeric, since i believe the name is the id
        if(is_numeric($post_key) && is_int($post_key){
         //Here goes your code, $post_key is the id and $post_value is the $nombre
         //Although i admit that i have no idea what nombre is since it is in another language. Forgive me if id_producto is not numeric and unique.
        }

    }
于 2013-10-22T17:51:47.303 回答