Неопределенный индекс: отображается розничная цена, я не могу передать розничная цена на страницу loading_add.php - PullRequest
0 голосов
/ 16 декабря 2018

Я создаю систему управления запасами для своих продаж.я могу сериализовать полную таблицу успешно, у меня есть одна проблема, у меня есть столбец sell_price в таблице, столбец розничной цены отсутствует в таблице. как можно отправить розничную цену, скрытую на страницу php. потому что мне нужно рассчитать прибыль в конце дняпродажи.Я отправляю всю запись на страницу loading_add.php через ajex.что я пробовал до сих пор, я написал это ниже.как отправить скрытое поле retail_price на страницу loading_add.php.

Введите код продукта, чтобы получить цены продукта. Отображать только цену продажи.В рознице должно отображаться скрытое поле.

это форма дизайна

 <td>
      <select class="form-control" id="product_id" name="product_id" required>
      <option value="">Please Select</option>
       </select>
     </td>

      <td>
  <input type="hidden" class='retailprice'  id="retail_price" name="retail_price" >
      <input type="text" class="form-control sell_price" id="sell_price" name="sell_price" placeholder="price" disabled>
      </td>
      <td>
      <input type="number" class="form-control sell_price" id="qty" name="qty" placeholder="qty" min="1" value="1"  required>
      </td>
      <td>
      <input type="text" class="form-control" placeholder="total_cost" id="total_cost" name="total_cost" disabled>
      </td>
      <td>
      <button class="btn btn-success" type="button" onclick="addproduct()">Add
        </button>
      </td>

Получить цену

function getPrice() {
        $("#pro_price").empty();
        $.ajax({
            type: 'POST',
            url: '../php/product/get_price.php',
            dataType: 'JSON',
            data: {product_id: $("#product_id").val() },
            success: function(data) {
                console.log(data);
                $("#sell_price").val(data[0].sell_price);
                current_stock =Number(data[0].qty);
                $("#qty").focus();
                retail_price =Number(data[0].retail_price);
                pro_price =Number(data[0].sell_price);
            },
            error: function(xhr, status, error) {
            }
        });
    }

После того, как вы получите название продукта и цену, нажмите Добавить продукт Putton, добавьте в таблицу Добавьте продукт в таблицу

function addproduct() {
var product = {
    cat_id: $("#cat_id option:selected").text(),
    product_name: $("#product_id option:selected").text(),
    product_id: $("#product_id").val(),
   retail_price: $("#retail_price").val(),
    pro_price: $("#pro_price").val(),
    qty: $("#qty").val(),
    total_cost: $("#total_cost").val(),
    button: '<button  type="button" class="btn btn-warning btn-xs")">delete</button>'
};
addRow(product);
$('#frmInvoice')[0].reset();

созданиеФункция addRow добавляет продукт в список

 function addRow(product) {

              var $tableB = $('#product_list tbody');
    var $row = $("<tr><td><Button type='button' name = 'record'  class='btn btn-warning btn-xs' name='record' onclick='deleterow(this)' >Delete</td>" +
    "<td>" + product.product_id + "</td>" +
    "<td class=\"price\">" + product.cat_id + "</td>" +
    "<td>" + product.product_name + "</td>" +
    "<td><input type='hidden' class='retail_price' value="+ product.retail_price +">" + product.pro_price + "</td>" +
    "<td>" + product.qty + "</td><td>"
    + product.total_cost +
    "</td></tr>");
    $row.data("cat_id", product.cat_id);
    $row.data("product_id", product.product_id);
    $row.data("product_name", product.product_name);
    $row.data("price", product.price);
    $row.data("retail_price", product.retail_price);
    $row.data("qty", product.qty);
    $row.data("total_cost", product.total_cost);
    total += Number(product.total_cost);
    $('#total').val(total);
    console.log(product.total_cost);
    $row.find('deleterow').click(function (event) {
        deleteRow($(event.currentTarget).parent('tr'));
    });
    $tableB.append($row);

}

**

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

**

отправка данных в loading_add.страница php

  $.ajax({
        type : "POST",
        url: '../php/product/loading_add.php',
        dataType: 'JSON',

        data: {data:table_data},

loading_add.php

$relative_list = $_POST['data'];

        $stm = $conn->prepare("INSERT INTO sales_product(sales_id,cat_id,product_id,retail_price,sell_price,qty,total,profit)
          VALUES (?,?,?,?,?,?,?,?)");
        $stm->bind_param("issiiiii",$last_id,$cat_id,$product_id,$retail_price,$price,$qty,$total_cost,$profit);
        $cat_id= $relative_list[$x]['cat_id'];
        $product_id= $relative_list[$x]['product_name'];

$retail_price= $relative_list[$x]['retail_price'];
       $price= $relative_list[$x]['price'];
        $qty= $relative_list[$x]['qty'];
        $total_cost= $relative_list[$x]['total_cost'];

1 Ответ

0 голосов
/ 16 декабря 2018

В строках вашей таблицы вы можете встроить retail_price следующим образом:

"<table>
<tr data-retail-price="'+product.retail_price+'"><td><Button type='button' name = 'record'  class='btn btn-warning btn-xs' name='record' onclick='deleterow(this)' >Delete</td>" +
            "<td>" + product.product_id + "</td><td class=\"price\">" + product.cat_id + "</td><td>" + product.product_name + "</td><td>" + product.sell_price+
            "</td><td>" + product.qty + "</td><td>" + product.total_cost + "</td></tr>
</table>"

А чтобы получить розничную цену, вы можете использовать функцию атрибута JQuery:

var sub = {
            'product_id' : $(tr).find('td:eq(1)').text(),
            'cat_id' : $(tr).find('td:eq(2)').text(),
            'product_name' : $(tr).find('td:eq(3)').text(),
              retail_price : $(tr).attr("data-retail-price");
            'sell_price' : $(tr).find('td:eq(4)').text(),
            'qty' : $(tr).find('td:eq(5)').text(),
            'total_cost' : $(tr).find('td:eq(6)').text(),
        };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...