【发布时间】:2012-09-11 13:56:24
【问题描述】:
我有一个包含三个选项的选择框。选择选项时,请单击“保存”按钮,该按钮在字段上执行数据库更新。这将涉及在一个表单中有两个提交按钮。我在每个提交按钮上创建了不同的操作,这将是保存按钮:
if ($_POST['update_status'] == 'Save') {
$keys = array_keys($_POST['order_status']);
//perform the database update to change the option value
}
if(isset($_POST['order_selected'])) {
//send email
}
目前我的每个选项的选择框都嵌入在一个表格中,例如:
echo '<select name="order_status[] id="id"">';
echo '<option value = "Pending" name="order_status['.$i.']" class = "pending"' . ($row['status'] == 'Pending' ? ' selected=selected' : '') . '>Pending</option>';
echo '<option value = "Approved" name="order_status['.$i.']" class = "approved"' . ($row['status'] == 'Approved' ? ' selected=selected' : '') . '>Approved</option>';
echo '<option value = "Disapproved" name="order_status['.$i.']" class ="disapproved"' . ($row['status'] == 'Disapproved' ? ' selected=selected' : '') . '>Disapproved</option>';
echo '</select>';
现在我的更新查询正在工作,除了它在表单之外并且通过从数据库中发布一个唯一的订单 ID 然后执行他的更新来工作。但是我只能做'批准'。 “待处理”不是问题,因为我在创建订单时已经在数据库中设置了一个标志,默认为待处理。
我不想在表单之外拥有此功能,而是让苹果选择一个下拉项,点击保存,然后运行数据库更新查询,在同一表单内更改选择框中的值,如果这可能吗?
目前我在表单之外有查询和提交按钮,如下所示:
<?php
if (!empty($_POST)) {
$id = intval($_POST['approval']);
$query = "UPDATE Orders SET status = 'Approved' WHERE id = $id";
mysql_query($query);
}
$query = "SELECT ID, Orderno, status FROM Orders WHERE status = '0'";
$result = mysql_query($query);
?>
<select name="approval">
<?php while ($row = mysql_fetch_assoc($result)): ?>
<option value="<?php echo $row['ID']; ?>"><?php echo $row['Orderno']; ?></option>
<?php endwhile; ?>
</select>
<input type="submit" action ="" value="Approve Order" />
非常感谢,非常感谢任何关于我应该如何解决这个问题的指示。
【问题讨论】: