PHP编程 关于多选框默认选中问题
两张表
sub_role_table(srt_id,id,role_id)id是用户Id,role_id是角色id
role_table(role_id,role_name) role_name是角色名称
现在要实现一个用户多个角色的修改在修改页面循环出所有的角色,然后该用户有什么角色,什么角色是默认选中的
源码如下
=======================================================
$sql="select * from role_table where role_id!=0";
$re=mysql_query($sql);
$sql2="select * from sub_role_table where id='$id'";
$res=mysql_query($sql2);
$showa = '';
while ($row=mysql_fetch_array($res)){
while ($roww=mysql_fetch_array($re)){
if($roww[role_id]==$row[role_id]) {
$showa .= "$roww[role_name]";
} else {
$showa .= "
$roww[role_name]";
}
}
}
print_r($showa);
?>
现在就是在用户本身有多个角色的情况下,显示的时候只显示用户的第一个角色是默认选中的,其他的角色不默认选中,希望各位大侠帮忙看看代码错那里了,让我实现这个默认复选框的选中问题
------解决方案--------------------
<?php /* Created on [2012-5-17] */ #所有信息 $sql = "select * from role_table where role_id!=0"; $re = mysql_query($sql); if (!$re) die("SQL:{$sql}<br>Error:" . mysql_error()); if (mysql_affected_rows() > 0) { $allinfors = array (); while ($rows = mysql_fetch_array($re)) { array_push($allinfors, $rows); } } #要修改信息 $sql2 = "select * from sub_role_table where id='$id'"; $res = mysql_query($sql2); if (!$re) die("SQL:{$sql}<br>Error:" . mysql_error()); if (mysql_affected_rows() > 0) { $editinfor = mysql_fetch_array($res); } ?> <?php foreach($allinfors as $all){ ?> <input type="checkbox" name="item[]" value="<?=$all['role_id']?>"> />=$all['role_name']?> <?php } ?> <div class="clear"> </div>