从选择框中选择选项单击保存按钮执行数据库更新

时间:2012-09-11 13:56:25

标签: php html sql forms

我有一个包含三个选项的选择框。选择一个选项后,单击一个保存按钮,在该字段上执行数据库更新。这将涉及在一个表单中有两个提交按钮。我在每个提交按钮上创建了一个不同的操作,这将是保存按钮:

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>';

现在我正在更新查询工作,除了它在表单之外,并通过从数据库发布唯一订单I.D然后执行更新来工作。但是我只能'批准'。 'pending'不是问题,因为我在创建订单时已在数据库中设置了一个标志,作为默认挂起。

我没有在表单之外使用此功能,而是希望选择下拉项目,点击保存,然后运行数据库更新查询,更改选择框中的值,在同一表单中,如果这可能吗?。

目前我在表单外面有查询和提交按钮,如下所示:

<?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" /> 

非常感谢,任何关于我应该如何解决这个问题的指示都非常感谢。

1 个答案:

答案 0 :(得分:0)

我对你的问题感到很困惑,但是如果你试图在没有用户离开页面的情况下运行数据库查询,然后更新某些HTML元素的属性,那么你将不得不使用AJAX。