我有一个文本输入,它由来自控制器传递的数据库中的值填充。我就是这样做的:
<input type="text" class="form-control" id="groupname" name="groupname" disabled value="<?php foreach ($result as $r) {
echo $r->group_name;
};?>"/> <br>`
单击搜索按钮并且其运行良好后,应执行此代码。我的问题是,每次加载视图时,加载此输入字段意味着执行此代码,因为我没有搜索任何内容,它给了我一个错误。如何默认情况下将输入框的默认值设置为null / empty,或者如果控制器没有返回任何值。
我是新手。非常感谢您的帮助。
答案 0 :(得分:1)
您可以通过检查数组来检查是否执行了搜索
<input type="text" class="form-control" id="groupname" name="groupname" disabled value="<?php if(isset($result) && !empty($result)){ foreach ($result as $r) {
echo $r->group_name;
} };?>"/> <br>`
解释
我在此使用if(isset($result) && !empty($result)){
条件我已经检查过,如果您的搜索发生,则意味着将设置$result
并且$result
中必须存在某些内容。
但是,如果您只是刷新页面,则$result
中没有任何值,因此它不会处理foreach
循环。
答案 1 :(得分:1)
<input type="text" class="form-control" id="groupname" name="groupname" disabled value="
<?php
if(count($result)>0){
foreach ($result as $r) {
echo $r->group_name;
}
}?>"/> <br>
答案 2 :(得分:1)
您应该在调用该函数之前使用$result = array();
设置空数组,或者您可以在foreach()
中执行此操作,例如foreach((array)$result as $r)
...在此处查看更多信息:{{ 3}}