我用$b检查组的所有行,如果是$b中的空行,我想禁用组列$a的按钮,如下面的脚本所示.我正在使用group这就是为什么它只在$b的第一行工作.
如果任何一行为空,如何禁用组列的按钮?
我应该使用循环来检查$b的所有行.
$id = $_POST['id'];
$sql = $db->prepare("SELECT a, b from table WHERE id = :id group by a");
$sql ->bindparam(':id',$id);
$sql ->execute();
while($row = $sql ->fetch(PDO:: FETCH_ASSOC) ) {
$a = $row['a'];
$b = $row['b'];
if(!empty ($b))
{
echo '<tr>
<td><input type="button" name="a[]" value="'.$a.'"></td>
</tr>';
}else{
echo '<tr>
<td><input type="button" name="a[]" value="'.$a.'" disabled></td>
</tr>';
}
} // while
解决方法:
如果至少有一个结果为null,您正在尝试检查每个团队,
试试这个sql行:
SELECT `team_id`, `team`, MIN(IFNULL(`result`, -1)) `result`
FROM `teams`
WHERE `group_id` = :id
GROUP BY `team_id`
如果结果不为null,则IFNULL(result,-1)将返回结果,如果为null,则返回-1
因此MIN(IFNULL(result,-1))将返回团队所有结果的最小值,如果有null结果,则返回-1
因此,其余的很简单:
foreach($stmt->fetchAll() as $row) {
$a = $row['team'];
$b = $row['result'];
if ($b < 0) {
// disable case
} else {
// enable case
}
}
NB1:我认为结果不能为负,如果不是这种情况,请使用ABS功能.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。