繁体   English   中英

多个SQL查询的复选框

[英]Checkbox for multiple SQL queries

我使用复选框从数据库中选择多个项目。

extras.php

<form action="core/process.php" method="POST" class="checkbox" > 
<?php $sql = "SELECT * FROM prices WHERE cat_id =1";
$query = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($query))
{
    echo '<input type="checkbox" name="check_list[]" checked="" value="' . $row["name"] . '">' . $row["name"] . '(s)<br><br>';
}
?>

process.php

if (isset($_POST["checkbox"]))
{
    if (!empty($_POST['check_list']))
    {
        // Loop to store and display values of individual checked checkbox.
        foreach ($_POST['check_list'] as $selected)
        {
            $checked_items = $selected;
        }
        $items = implode(',', $_POST['check_list']);

输出:

'item1', 'item2', 'item3'

我想找到一种从数据库表中获取item1,item2,item3的详细信息的方法。 这些项目存在于表中。

您的Sql查询将在下面

SELECT * FROM prices WHERE name IN ( $items ); // $items = 'item1', 'item2', 'item3'

如果这是某种软件或小型计费软件,则必须在数据库的不同行中插入不同的项目,例如:

---------------------------------
bill_no | item_no | item_quantity
1001    | 3       | 5
1001    | 15      | 1
1001    | 7       | 3
1001    | 1       | 10
---------------------------------

这很容易维护。 因为这不会增加代码的大小,并且您不必在每一步都使用implode或explode或foreach函数。 如果您拥有庞大的数据库,则可以通过此过程从数据库中快速找到肠子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM