Php multiple selectbox甚至不显示多重属性
在两种情况下,它只显示下拉列表宽度的单选项,即使$\u GET['type']='multiple'。 我试过了Php multiple selectbox甚至不显示多重属性,php,Php,在两种情况下,它只显示下拉列表宽度的单选项,即使$\u GET['type']='multiple'。 我试过了 <?php $tab=$_GET['liste']; $max=sizeof($tab); echo$max; echo$_GET['type']; if ($_GET['type']='multiple') { ?> <form name='form'> <select size=<?php $max ?> mult
<?php
$tab=$_GET['liste'];
$max=sizeof($tab);
echo$max;
echo$_GET['type'];
if ($_GET['type']='multiple')
{
?>
<form name='form'>
<select size=<?php $max ?> multiple>
<?php
for($i=0;$i<$max;$i++){
echo"<option value=$i>$tab[$i]</option>";
}
echo"</select>";
echo"</form>";
}
else{
?>
<form name='form'>
<select size=<?php $max ?>>
<?php
for($i=0;$i<$max;$i++){
echo"<option value=$i>$tab[$i]</option>";
}
echo"</select>";
echo"</form>";
}
?>
>
而不是
<select size=<?php $max ?> <?php echo$_GET['type']; ?>>
更改
<select size=<?php $max ?> multiple>
到
这里有很多问题需要解决(无意冒犯),所以让我们从
<select name='ville' size="<?=$max?>" multiple>
所有这些操作都是将$\u GET['type']变量的值赋值为'multiple',因此这将始终命中。接下来,如前所述,您需要进行更改
if($_GET['type']='multiple')
编辑:刚刚验证-如果字符串引用数组元素,则字符串中的变量必须始终包装在{
和}
中(这毕竟不适用于对象):
通常,最好始终使用{
和}
将变量包装成字符串,即使法律允许:
$a = array('foo' => 'bar');
$o = new stdclass;
$o->foo = 'bar';
$o->baz = array('foo' => 'bar');
echo "$a['foo']"; // Syntax error
echo "$o->foo"; // echos "bar"
echo "{$a['foo']}"; // echos "bar"
echo "$o->baz['foo']"; // Syntax error
这当然是一个多重列表。你可以按“ctrl”键并选择多个选项。顺便说一句,当你有数组时,你可以使forech不用于循环..你几乎有了它,但答案是我注意到你将它更改为size=,但这没有帮助。它需要是size=”“或size=”“。请注意引号和echo语句(作为echo或=符号)。问题不在这里,我有多个问题。您忽略了引号和echo语句。法茨卡特也说了同样的话。你必须在它周围加上引号,并在里面加上=或echo语句。从技术上讲,它应该可以在没有引号的情况下工作,但这样做是一件好事,这样你就不会让一些值到处都是,并且相互碰撞。哦,好的一点,这是一个数字。真正的错误是没有echo或=现在显示选择框,但我无法进行多项选择。我的意思是(Ctrl+单击)不起作用?!
<?php $max ?>
echo"<option value=$i>$tab[$i]</option>";
<?php
$tab = $_GET['liste'];
$max = sizeof($tab);
#echo $max;
#echo $_GET['type'];
$multiple = '';
if($_GET['type'] == 'multiple')
{
$multiple = ' multiple="multiple"';
}
?>
<form name='form'>
<select size="<?php echo $max ?>" <?php echo $multiple; ?>>
<?php
foreach($tab as $key => $value)
echo "<option value='{$key}'>{$value}</option>";
?>
</select>
</form>
$a = array('foo' => 'bar');
$o = new stdclass;
$o->foo = 'bar';
$o->baz = array('foo' => 'bar');
echo "$a['foo']"; // Syntax error
echo "$o->foo"; // echos "bar"
echo "{$a['foo']}"; // echos "bar"
echo "$o->baz['foo']"; // Syntax error
echo "Something {$here}"; // Obvious variable is obvious