-1

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

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

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

4

1 回答 1

0

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

于 2012-09-11T14:00:11.197 回答