没有JQuery的多个选项值进入数据库

时间:2014-05-23 18:21:14

标签: javascript php jquery mysql

是否可以通过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();
}

这将生成第一个列表:

enter image description here

然后,用户可以单击蓝色/橙色按钮以(重新)移动两个列表中的项目。在用户提交列表时,只应提交第二个列表中的项目。现在我用while循环尝试了几个东西,但我没有得到任何东西,因为我认为它只发送所选项目而我需要所有项目。

2 个答案:

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