是否可以通过foreach / for循环从列表中发布所有值,以便我可以将这些值插入MySQL:
第一个清单:
require('pdoConfig.php');
try {
$sql = "SELECT * FROM PRIJS";
$result = $pdo->query($sql);
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo "<option value=" . $row['PRIJS_ID'] .">" . $row['NAAM'] . " - € " . $row['PRIJS'] . "</option>";
}
$pdo = null;
} catch (PDOException $e) {
echo $e->getMessage();
}
这将生成第一个列表:
然后,用户可以单击蓝色/橙色按钮以(重新)移动两个列表中的项目。在用户提交列表时,只应提交第二个列表中的项目。现在我用while循环尝试了几个东西,但我没有得到任何东西,因为我认为它只发送所选项目而我需要所有项目。
答案 0 :(得分:0)
你可以用这种方式来实现
将html上的选择菜单重命名为
<select name="test[]">
<option value="Yes">Yes</option>
<option value="NO">No</option>
<option value="Ok">OK</option>
</select>
在php上
<?php
foreach ($_POST['test'] as $item)
{
print "$item<br/>";
}
?>
您应该将选择菜单名称转换为数组,并使用foreach
获取数组的内容答案 1 :(得分:-1)
如果您知道需要列表框中的所有值,则不需要Javascript。最简单的方法是在创建选项时将所有选项设置为选中。
例如,如果你使用PHP,它将会是这样的。
<select multiple="multiple" name="values[]">
<?php
while($r = mysql_fetch_array($result))
{
$option = $r['thing'] ;
echo "<option value="$option" selected>$option</option>";
}
?>
</select>