Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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下拉查询?_Php_Mysql - Fatal编程技术网

如何将空白选择添加到PHP下拉查询?

如何将空白选择添加到PHP下拉查询?,php,mysql,Php,Mysql,在创建的下拉列表中,它会自动从列表中选择第一个员工姓名。当选择其他员工时,页面将刷新,再次选择列表中的第一名员工。有没有办法将默认选择设置为空白 $sql = "SELECT name FROM employee"; $result = $conn->query($sql); while ($row = $result->fetch_assoc()) { unset($name); $name = $row['name']; echo '<option value="'.$n

在创建的下拉列表中,它会自动从列表中选择第一个员工姓名。当选择其他员工时,页面将刷新,再次选择列表中的第一名员工。有没有办法将默认选择设置为空白

$sql = "SELECT name FROM employee";
$result = $conn->query($sql);

while ($row = $result->fetch_assoc()) { unset($name); $name = $row['name'];
echo '<option value="'.$name.'">'.$name.'</option>'; }
$sql=“从员工中选择姓名”;
$result=$conn->query($sql);
while($row=$result->fetch_assoc()){unset($name);$name=$row['name'];
回显“.$name.”;}

添加默认值,如:

while ($row = $result->fetch_assoc()) { unset($name); $name = $row['name']; 

echo '<option value="'.$name.'"'.($isDefaultValue ? "selected":"").'>'.$name.'</option>'; }
while($row=$result->fetch_assoc()){unset($name);$name=$row['name'];
回显“.$name.”;}
您需要创建$isDefaultValue变量,该变量确定给定记录是默认记录,还是要创建第一个空白条目使用:

echo '<option value="-1" selected>This is only default value, pick real one!</option>';
echo'这只是默认值,选择真实值!';

然后在控制器中检查用户选择的是“default”-1值还是实值。注意:尝试摆脱在一次性变量中声明SQL语句的习惯,这些语句只使用一次。如果查询直接提供给函数,那么遵循代码就容易多了,而且不再有可能弄乱并发送
$sql3
,而不是视觉上相似的
$sql8
。提示:在循环之外添加另一个
echo
。@tadman我同意,但我必须承认,有时我会专门为SO帖子这样做,以使SQL适合一行而不滚动。既然你提到了,我想我是在树立一个坏榜样。@Don’我不知道你的意思。您总是可以更好地将代码分隔开,以避免包装问题。我刚刚看到太多的情况,人们认为
$sql=“…”
足以实际执行该sql。这里的语法有问题吗?似乎它缺少一个引用或something@T.C.修正了我的打字错误。非常感谢。由于默认选择显示在列表的底部,是否有办法将其显示在顶部?@T.C.因此,您希望将一些记录标记为默认并在“选择并首先生成”中选中?然后,您需要首先回显它,然后在while循环中跳过它,或者对记录进行排序,并首先设置默认值