列表框应该下拉

时间:2011-04-29 13:03:19

标签: php drop-down-menu

给每一个人 我的数据库中有一些值我希望用复选框显示它们。 单击按钮时应显示这些值。这不应该在组合框中。 因为我想一次发布多个值。 请帮助谢谢

<?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 }?>

2 个答案:

答案 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>