从Dropdown和Form更新MySQL表

时间:2017-05-18 10:05:30

标签: php mysql mysqli

我在这里发布这个问题是因为我有点迷失了。这是我第一次使用PHP和MySQL,我正在为我的单一任务做这个。我已经设法完成所有CSS,Javascript和部分PHP / MySQL要求。我唯一留下的是:

如何从我的表单中获取通过PHP和MYSQLquery生成的值并更新MySQL表的相应行。我附上了一张图片,以便更容易理解。

enter image description here

左侧允许用户搜索或显示所有订单。然后,PHP内部将调用自身来更新右侧的表。那部分我设法做到了。但现在我的任务要求的一部分是:

The Manager should be able to ‘update’ the status of an order from a link
or button next to the order in the table, changing the status from 
(pending | fulfilled | paid | archived). This could be done by returning 
the record to a form in this webpage, to change and ‘confirm’ the change.

现在生成的表实际上是一个表单。我在这里放了一些代码片段

echo "<form method=\"post\" id=\"regForm\" action=\"https://formtest.php\" name=\"editAll\">\n";
.......
echo "<td>", $row["order_status"],"</td>\n";
echo "<td><select name=\"change_orderstatus[]\" id=\"change_orderstatus[]\">
<option value=\"\" selected=\"selected\" >Please Select</option>
<option value=\"pending\">Pending</option>
<option value=\"Fulfilled\">Fulfilled</option>
<option value=\"Paid\">Paid</option>
<option value=\"Archived\">Archived</option>
<option value=\"Delete\">Delete</option>
</select></td>\n";
....
echo "<input type= \"submit\" value=\"Save changes\" id=\"commit\" name=\"editAllquery\" />";

如果我放change_orderstatus[]它应该变成一个数组但是如何利用它来更新我的MySQL表

我正在附加另一张图片以显示我有保存更改按钮的底部

enter image description here

现在我知道Stackoverflow以抨击人而不是帮助而闻名,因为“所有的新手应该学习他们的东西和所有”(这是我个人的经验),但我不是要求你为我编写代码或者帮我做我的任务。

我只是要求你指出我可以自己做的方向。就这样。我试图让我的帖子尽可能清晰,尽可能详细,这样我就不会立即投票被遗忘。

如果你能帮助我,那就太好了。 谢谢

1 个答案:

答案 0 :(得分:0)

首先你需要在某个地方输出一个表格,我建议把它作为:

<form action="phphandler.php" id="form1" method="POST" style="display: none;">
    <input type="hidden" name="id" id="inp1">
    <input type="hidden" name="status" id="inp2">
</form>

选择

制作onChange事件
<select onchange="event.preventDefault(); myFunction(1)" id="sel1">

myFunction(1)应该使用php

为每个具有唯一ID的选择生成

然后功能如下:

function myFunction(id) {
    document.getElementById('inp1').value = id;
    document.getElementById('inp2').value = document.getElementById('sel1').value;
    document.getElementById('form1').submit()
}

所有ID都是由php生成的,除了inp1和inp2以及form1