好的,所以这个有点令人困惑。我有选择由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个选择下拉菜单?
谢谢!
答案 0 :(得分:0)
您想从数据库中获取选项的值以及ID吗?然后,您应该mysql_fetch_array
或mysql_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
}
这很棘手,我确信有一个更清洁的解决方案,但它对我有用!对于糟糕的初步解释感到抱歉,并希望这有助于其他人。