我有一个包含三个选项的选择框。选择一个选项后,单击一个保存按钮,在该字段上执行数据库更新。这将涉及在一个表单中有两个提交按钮。我在每个提交按钮上创建了一个不同的操作,这将是保存按钮:
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" />
非常感谢,任何关于我应该如何解决这个问题的指示都非常感谢。
答案 0 :(得分:0)
我对你的问题感到很困惑,但是如果你试图在没有用户离开页面的情况下运行数据库查询,然后更新某些HTML元素的属性,那么你将不得不使用AJAX。