如何将整个表和变量序列化到php页面

时间:2018-12-15 07:35:12

标签: php ajax

我正在为我的销售创建库存控制系统。我可以成功地序列化完整表格我有一个问题,我在表格中有sell_price列,table中没有零售价格列。如何将零售价格发送到php页面。因为我需要在销售结束时计算利润。我通过ajex将所有记录发送到loading_add.php页面。到目前为止我尝试过的东西都写在下面。如何将retail_price发送到loading_add.php页面。

image = py.image.load('image.png').convert_alpha()
bright_image = image.copy()
bright_image.fill((100, 100, 100, 0), special_flags=py.BLEND_RGBA_ADD)
current_image = image  # Assign the current image to another variable.

# In the main `while` loop.
# Swap the image when something happens.
current_image = bright_image
screen.blit(current_image, (100,100))

1 个答案:

答案 0 :(得分:0)

一种方法是获取隐藏的输入,如果您不想仍然向用户显示数据

例如,在您的产品列表中,您可以根据需要隐藏零售价格的输入,而不必向用户显示。

因此,在执行mysql select查询后,您可以按以下方式获取表中的数据:

<table id="product_list" class="table table-bordered table-striped">
<thead>
    <tr>
        <th>Id</th>
        <th>Category</th>
        <th>product Name</th>
        <th>price</th>
        <th>quantity</th>
        <th>total</th> 
    </tr>
</thead>
<tbody>
 <?php foreach ($products as $row){ ?>
    <tr>
        <td><?php echo $row['id']; ?></td>
        <td><?php echo $row['cat_id']; ?></td>
        <td><?php echo $row['product_name'] ?></td>
        <!-- below in sell price td we will take hidden input for retail price -->
        <td><input type="hidden" class="retail_price" value="<?php echo $row['retail_price'] ?>"><?php echo $row['sell_price'] ?></td>
        <td><?php echo $row['quantity'] ?></td>
        <td><?php echo $row['total_cost']; //or price * quantity ?></td>
    </tr>
  <?php } ?>
</tbody>
</table>

在您的脚本中,您误认为是$(tr).find('td:eq(1)').text()

如果要先获取td,则应使用$(tr).find('td:eq(0)').text(),因为此处td是元素数组,并且在数组index中始终以0开头。

因此您的脚本应为:

$(function () {
    var table_data = [];
    $('#product_list tbody tr').each(function (row, tr)
    {
        var sub =
                {
                    'product_id': $(tr).find('td:eq(0)').text(),
                    'cat_id': $(tr).find('td:eq(1)').text(),
                    'product_name': $(tr).find('td:eq(2)').text(),
                    'sell_price': $(tr).find('td:eq(3)').text(),
                    'retail_price': $(tr).find('td:eq(3)').find('.retail_price').val(),
                    'qty': $(tr).find('td:eq(4)').text(),
                    'total_cost': $(tr).find('td:eq(5)').text(),
                };
        table_data.push(sub);
    });

 //here you can fire ajax request for adding record
});

另一种方法是获取所需值的数据属性

在与上述相同的示例中,您可以将td中的data属性设为

 <td data-retail_price="<?php echo $row['retail_price'] ?>"><?php echo $row['sell_price'] ?></td>

在脚本中,您可以像上面的脚本一样获得数据属性的值:

 'retail_price': $(tr).find('td:eq(3)').data('retail_price'),