Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中进行下拉式MySQL查询_Php_Mysqli - Fatal编程技术网

如何在PHP中进行下拉式MySQL查询

如何在PHP中进行下拉式MySQL查询,php,mysqli,Php,Mysqli,我有6个盒子。我正在根据框制作报告。我所做的是创建一个表单并设置方法来获取这些值,然后在下一页上通过$\u GET方法获取这些值。像 <form method="get" action="report.php"> <select name="select1"> <option value="none">Select value</option> <option value="1">1</option> <option

我有6个
盒子。我正在根据
框制作报告。我所做的是创建一个表单并设置方法来获取这些值,然后在下一页上通过$\u GET方法获取这些值。像

<form method="get" action="report.php">

<select name="select1">
<option value="none">Select value</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>


<select name="select2">
<option value="none">Select value</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select name="select3">
<option value="none">Select value</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
.....................
</form>
我想要的是尽可能简单。我应该采取什么方法呢?

优化您的代码

创建名称为
data[cby]
data[crequirement]

使用空字符串代替
none

在PHP中:

if (isset($_GET['data']) {
    $where = [];

    foreach ($_GET['data'] as $name => $value) {
        if ($value != '') {
            $where[] = $name."=".$value; // sanitize `$name` and `$value` first
        }
    }

    if (!empty($where)) {
        $whereString = ' WHERE '.implode(' AND ', $where);
    } else {
        $whereString = '';
    }

    $query = mysqli_query($db, "SELECT * FROM customer".$whereString);
}

你的问题不清楚。你在哪里需要帮助?
if (isset($_GET['data']) {
    $where = [];

    foreach ($_GET['data'] as $name => $value) {
        if ($value != '') {
            $where[] = $name."=".$value; // sanitize `$name` and `$value` first
        }
    }

    if (!empty($where)) {
        $whereString = ' WHERE '.implode(' AND ', $where);
    } else {
        $whereString = '';
    }

    $query = mysqli_query($db, "SELECT * FROM customer".$whereString);
}