Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 列表框应为下拉列表_Php_Drop Down Menu - Fatal编程技术网

Php 列表框应为下拉列表

Php 列表框应为下拉列表,php,drop-down-menu,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++; ?&g

对每一个人 我的数据库中有一些值,我想用复选框显示它们。 当我点击按钮时,这些值应该显示出来。这不应该在组合框中。 因为我想一次发布多个值。 请帮忙,谢谢

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

您可以限制查询中的列数,而不是选择*。。。。你已经把它放进了盒子里。's for=属性硬编码为chk1。您可以从中取出inline style=并将其放入样式表中。我把它整理得有点未经测试:

$womenlist = mysql_query("select * from tbl_cycleduraion where user_id=$_SESSION[user_id]");
$gs = 0;
while( $girlslist = mysql_fetch_array($womenlist) )
{
$gs++;
echo '<li style="background-color:#CCC; width:150px;">'
   . '<label for="chk' . $gs . '">' . $girlslist['calName'] . ' ' . $girlslist['calDesc'] . '</label>'
   . '<input type="checkbox" name="chk_' . $gs . '" id="chk' . $gs . '" value="' . $girlslist['calName'] . '"
   . (($_REQUEST['chk_'.$gs]==$girlslist['calName']) ? 'checked="checked"' : '') . '></li>';
}

不完全确定您在这里要求什么,因为看起来您已经有了使用复选框的功能,但实际上您可以使用选择框发布多个值。您只需使用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>
或者,如果您希望复选框的值以类似的方式通过,请更改它们,使它们都具有相同的名称,但在末尾使用方括号。此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>

谢谢你的回复,先生。从中创建一个包含所有值的列表框。实际上,我想通过单击来显示这些值。这些值应该类似于下拉列表。已在代码中编辑以生成带有适当HTML的选择框。再次感谢,但结果相同。先生,我希望这样,在您的原始问题中发布此链接会更有用。如果您希望完全模仿此点,只需使用PHP呈现相同的HTML标记并提升JS。该页面基本上就是您问题的答案-只需查看来源。谢谢您的回复,先生。从中创建一个包含所有值的列表框。实际上,我想通过单击来显示这些值。这些值应该类似于下拉列表
<?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>