给每一个人 我的数据库中有一些值我希望用复选框显示它们。 单击按钮时应显示这些值。这不应该在组合框中。 因为我想一次发布多个值。 请帮助谢谢
<?php
$womenlist=mysql_query("select * from tbl_cycleduraion where user_id=$_SESSION[user_id]");
$gs=0;
while($girlslist=mysql_fetch_array($womenlist))
{
$gs++;
?>
<li style="background-color:#CCC; width:150px;"><label for="chk1"><input type="checkbox" name="chk_<?php echo $gs?>" id="chk<?php echo $gs?>" value="<?php echo $girlslist['calName'];?>" <?php if($_REQUEST['chk_'.$gs]==$girlslist['calName']){?> checked="checked"<?php }?>><?php echo $girlslist['calName']." ".$girlslist['calDesc']; ?> </label></li>
<?php }?>
答案 0 :(得分:0)
您可以限制查询中的列数(不是SELECT * ...
)。您已将<input>
放在<label>
内。 <label>
的{{1}}属性被硬编码为for=""
。您可以取出chk1
上的内联style=""
并将其放入样式表中。我已经“整理”了一点(未经测试):
<li>
答案 1 :(得分:0)
不完全确定你在这里要求的是什么(因为看起来你已经使用了复选框),但事实上你可以用一个选择框发布多个值。您只需使用multiple
属性,并将名称指定为带方括号的数组:
<form action="yourscript.php" method="post">
<select name="women[]" multiple="multiple">
<option value="woman1_name">Woman 1</option>
<option value="woman2_name">Woman 2</option>
<option value="woman3_name">Woman 3</option>
</select>
<input type="submit" />
</form>
如果你发布一个表格,选择女人2&amp; 3,var_dump($_POST);
产生:
array(1) {
["women"]=>
array(2) {
[0]=>
string(11) "woman2_name"
[1]=>
string(11) "woman3_name"
}
}
或者,如果您希望复选框的值以类似的方式出现,请更改它们,使它们都具有相同的name
,但最后使用方括号。这个HTML会产生类似的POST数据:
<input type="checkbox" name="women[]" value="Woman 1" />
<input type="checkbox" name="women[]" value="Woman 2" />
<input type="checkbox" name="women[]" value="Woman 3" />
因此,要使用此创建下拉列表,这里是对代码的修改。我相信这就是你所追求的:
<?php
$options = '';
$womenlist=mysql_query("select * from tbl_cycleduraion where user_id=$_SESSION[user_id]");
while($woman=mysql_fetch_array($womenlist)) {
$options .= '<option value="'.$woman['calName'].'"'.((!empty($_REQUEST) && in_array($woman['calName'],$_REQUEST['women'])) ? ' selected="selected"' : '').'>'.$woman['calName'].' '.$woman['calDesc'].'</option>';
}
?>
<label for="women">Women:</label>
<select id="women" name="women[]" multiple="multiple">
<?php echo $options; ?>
</select>