php - Mysql 编辑用户下的订单

标签 php jquery mysql edit

您好,我正在通过一个订购系统工作,我已经完成了下订单并且它进入了数据库,但是我正在努力思考如何让用户在插入订单后对其进行编辑。

这就是我从页面获取订单并将其发送到 PHP 插入脚本的方式:

$('#submit').live('click',function(){ 

                    var postData = {};
                    $('#items tr').not(':first').each(function(index, value) {
                        var keyPrefix = 'data[' + index + ']';
                        postData[keyPrefix + '[supp_short_code]'] = $(this).closest('tr').find('.supp_short_code').text();
                        postData[keyPrefix + '[project_ref]'] = $(this).closest('tr').find('.project_ref').text();
                        postData[keyPrefix + '[om_part_no]'] = $(this).closest('tr').find('.om_part_no').text();
                        postData[keyPrefix + '[description]'] = $(this).closest('tr').find('.description').text();
                        postData[keyPrefix + '[quantity_input]'] = $(this).closest('tr').find('.quantity_input').val();
                        postData[keyPrefix + '[cost_of_items]'] = $(this).closest('tr').find('.cost_of_items').text();
                        postData[keyPrefix + '[cost_total_td]'] = $(this).closest('tr').find('.cost_total_td').text();
                    });

                $.ajax
                    ({
                    type: "POST",
                    url: "order.php",
                    dataType: "json",
                    data: postData,
                    cache: false,
                    success: function()
                        {
                            alert("Order Submitted");
                        }
                    });
            });

这是 PHP 插入:

if (isset($_POST['data']) && is_array($_POST['data'])) {
                foreach ($_POST['data'] as $row => $data) {
                    $result = mysql_query("INSERT INTO orders (id,order_id,project_ref,supp_short_code,om_part_no,description,quantity,cost_of_items,cost_total) VALUES('', '".$order_id."', '".$data['project_ref']."', '".$data['supp_short_code']."', '".$data['om_part_no']."', '".$data['description']."', '".$data['quantity_input']."', '".$data['cost_of_items']."', '".$data['cost_total_td']."') ") or die(mysql_error());
                }
            }

所以我知道这不是最干净的方法,所以这就是为什么我正在努力寻找一种干净的方法让他们编辑订单。我知道如何进行“更新”查询,但事实是我已经使用每个循环和数组来插入订单?上面的代码中有人对向用户展示什么内容有任何建议吗?

最佳答案

根据您使用的框架(如果有的话),只需为订单创建一个 View 。您可以在另一个页面上执行此操作,也可以通过 ajax 加载表单来执行此操作。无论哪种方式,表单都将如下所示:

<?php
    if(isset($_POST['submit']) && $_POST['submit'] == "Submit") {
        $database->update("orders",$_POST,$_POST['id']);
    }

    $order = $database->query(
        "select
            id,
            order_id,
            project_ref,
            supp_short_code,
            om_part_no,
            description,
            quantity,
            cost_of_items,
            cost_total
        from orders where id = ".$id);
?>

<form method="post" action="<?php echo basename($_SERVER['PHP_SELF']); ?>">
    <input type="text" name="id"                value="<?php echo $order['id']; ?>">
    <input type="text" name="order_id"          value="<?php echo $order['order_id']; ?>">
    <input type="text" name="project_ref"       value="<?php echo $order['project_ref']; ?>">
    <input type="text" name="supp_short_code"   value="<?php echo $order['supp_short_code']; ?>">
    <input type="text" name="om_part_no"        value="<?php echo $order['om_part_no']; ?>">
    <input type="text" name="description"       value="<?php echo $order['description']; ?>">
    <input type="text" name="quantity"          value="<?php echo $order['quantity']; ?>">
    <input type="text" name="cost_of_items"     value="<?php echo $order['cost_of_items']; ?>">
    <input type="text" name="cost_total"    value="<?php echo $order['cost_total']; ?>">
    <input type="submit" name="submit" value="Submit">
</form>

$database 对象的代码在这里:

http://www.jtgraphic.net/code/database-object/

关于php - Mysql 编辑用户下的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123012/

相关文章:

php - 按预期打印数组中不同的值

php - php数据库倒计时

c# - 将 Excel 转换为 xml

javascript - 从动态div中获取当前文本内容

php - 子查询不起作用

php mysql 查询即使为空集也返回 true

php - 如何使用标签表和对象表查找 "This value is also used moSTLy with that value"?

javascript - 通过 javascript/jquery 检测网站更改

java - 找不到通过java将文本字段中的值插入到mysql数据库的语法

php从mysql返回值2次