多个SQL查询的复选框

时间:2019-02-26 18:31:27

标签: php mysql

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

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的详细信息的方法。这些项目存在于表中。

2 个答案:

答案 0 :(得分:0)

您的Sql查询将在下面

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

答案 1 :(得分:0)

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

if (found[birthday-1] == true)

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