如果条件满足,我试图将值赋给变量。但是,php仍然没有设置值。我做错了什么?
这是我的PHP代码:
if(isset($_POST['submit'])) {
if (isset($_POST['unit'])) {
$unit = $_POST['unit'];
$query = search_by_unit($table, $unit);
}
} else if(!isset($_POST['submit'])){
$query = select_all($table);
}
$result = mysqli_query($connection, $query);
当我在设置单位控制后提交表格时,它仍然会运行选择所有功能。
这是功能:
function select_all($table_name){
return "SELECT * FROM {$table_name}";
}
function search_by_unit($table_name,$unit){
return "SELECT * FROM {$table_name} WHERE unit = '{$unit}'";
}
答案 0 :(得分:1)
检查提交按钮值完全不是一个好习惯。您必须直接检查form Posted
值,因此代码应如下所示: -
if (isset($_POST['unit'])){
$unit = $_POST['unit'];
$query = search_by_unit($table, $unit);
}else{
$query = select_all($table);
}
答案 1 :(得分:0)
您似乎正在进行比您真正需要的更多检查,或者可能需要。我将此代码缩减为:
if (isset($_POST['unit'])) {
$unit = $_POST['unit'];
$query = search_by_unit($table, $unit);
}
else {
$query = select_all($table);
}
如果设置了$_POST['submit']
但$_POST['unit']
不是,那么您仍然拥有$query
的值。