动态html选择框需要更新mysql

时间:2012-06-05 05:45:20

标签: php mysql html

好的,所以这个有点令人困惑。我有选择由PHP生成的下拉列表。它可以是4个选择,或30个选择下拉菜单。然后是选项值。这是我到目前为止所拥有的

<?php while($row = mysql_fetch_assoc($notes)){ ?>
<select name="milestone" id="milestone[<?php echo $row['id']; ?>]">
<option value="Enrollment Date">Enrollment Date</option>
<option value="Discharge Date">Discharge Date</option>
<option value="A/C Start">A/C Start</option>
<option value="Completion Date">Completion Date</option>
</select>
<?php } ?>

如果我有4个选择框,我可能有以下数组:里程碑[2134],里程碑[2222],里程碑[225]和里程碑[1022]

数组编号是我需要使用特定选择下拉列表的值更新的mysql表项的id。我想也许可以使用里程碑[] [id]并循环通过它?

任何想法,因为可能有20个选择下拉菜单?

谢谢!

2 个答案:

答案 0 :(得分:0)

您想从数据库中获取选项的值以及ID吗?然后,您应该mysql_fetch_arraymysql_fetch_object功能而不是mysql_fetch_assoc。此函数仅返回结果的数量,而上述两个返回数字和值。

答案 1 :(得分:0)

知道了!

首先,我必须将数组应用于select的名称,并设置id值:

<select name="milestone[]" class="mstones" id="<?php echo $row['session_id']; ?>">

然后,使用jquery,循环遍历类并创建一个数组,其值是我可以在php中“爆炸”的东西:

var milestoneVal = [];
$("select.mstones").each(function(i, selected){
milestoneVal[i] = this.getAttribute('id') + ':' + $(selected).val();
});

然后,简单的PHP

foreach($_POST['milestone'] as $v){
$m=explode(':',$v);
    //db insert
}

这很棘手,我确信有一个更清洁的解决方案,但它对我有用!对于糟糕的初步解释感到抱歉,并希望这有助于其他人。