我有一个具有不同名称的滚动列表,我可以选择,但如果没有选择,则需要选择所有这些名称。
HTML:
main()
PHP:
<form action="" method="POST">
<select name="names">
<option selected disabled value="">Choose name</option>
<option value="name1">Name 1</option>
<option value="name2">Name 2</option>
</select>
<button type="submit" name="submit">OK</button>
</form>
SQL:
if(!isset($_POST['names'])) {
*what to put here if i want all if not set*
}
答案 0 :(得分:0)
将WHERE
子句放在变量中。如果没有名字,请将其设为空。
if (isset($_POST['names'])) {
$where = "WHERE name = '" . $_POST['names'] . "'";
} else {
$where = "";
}
$sql = "SELECT * FROM yourTable " . $where;
但是,当表单具有<select>
元素时,其值将始终在POST中发送,因此isset()
将始终为true。也许你应该检查if (!empty($_POST['names']))
;如果您有一个空的默认选项,这将测试是否选择了该选项。