如何获取HTML表格的值并分配到选择和输入文本字段中?

时间:2018-11-27 17:47:40

标签: php jquery html mysql

希望您一切都好,我一直面临着将HTML表中的数据放入“选择框”的问题。

我正在使用PHP MySQLi和Ajax使用Jquery执行诸如插入,更新,删除和查看之类的操作。我完成了两个过程,例如“插入”和“在表上显示数据”,但是我无法获取HTML表,也无法在HTML标记中选择框。

我已经使用外键引用来建立类别和产品表之间的关系。我想从产品表中获取 Category_Name ,并将选定的category_name分配给HTML Select Box。

这是Php功能

 // Get Product Data
       function get_product_record()
       {
        global $con;
        $Pro_Update_Id = $_POST['Pro_Update_ID'];
        $query = "select * from product where Product_ID='$Pro_Update_Id'";
        $result = mysqli_query($con,$query);

        while($row=mysqli_fetch_assoc($result))
        {
            $data = "";
            $data[0]=$row['Product_ID'];
            $data[1]=$row['Category_ID'];
            $data[2]=$row['Product_Name'];
            $data[3]=$row['Product_Qty'];
            $data[4]=$row['Price'];
            $data[5]=$row['Description'];
        }
            echo json_encode($data);
       }

这是jQuery文件

function get_pro_record()
{
    $(document).on('click','#p_btn_edit',function()
    {
        var GetPID = $(this).attr('data-id');
        
        $.ajax(
            {
                url: 'includes/products/get_pro_record.php',
                method: 'post',
                data:{Pro_Update_ID:GetPID},
                dataType: 'JSON',
                success:function(data)
                {
                    $('#product_id').val(data[0]);
                    $('#cat_up_id').val(data[1]);
                    $('#product_up_name').val(data[2]);
                    $('#up_Qty').val(data[3]);
                    $('#up_Price').val(data[4]);
                    $('#up_description').val(data[5]);
                    $('#products_update').modal('show');
                }
            })
    })
}

**这里是HTML表格**

<form>
 <input type="hidden" id="product_id" class="form-control my-2" placeholder=" Product Name">
 <select name="cat_up_id"></select>
 <input type="text" id="product_up_name" class="form-control my-2" placeholder=" Product Name">
 <input type="text" id="up_Qty" class="form-control my-2" placeholder=" QTY">
 <input type="text" id="up_Price" class="form-control my-2" placeholder=" Price ">
 <textarea id="up_description" class="form-control" placeholder="Description"></textarea>
 </form>

我正在控制台屏幕中接收完整的数据,但是看不到category_name我正在接收category_id。所以,请告诉我该怎么解决。

这是控制台中项目的输出 Project Output in Console

2 个答案:

答案 0 :(得分:0)

首先,您需要使用内部联接从“产品”和“类别”表中查询数据库

$query = "select a.*, b.Category_Name from product a, category b where a.Category_Id = 
          b.Category_Id and Product_ID='$Pro_Update_Id'";

然后,您需要添加$ data以及一个用于类别名称的元素

 $data[6]=$row['Category_Name'];

然后您需要添加选项项目以选择

 $('#cat_up_id').html('<option>' + data[6] + '</option>');    

,然后在选择代码中将属性名称=“ cat_up_id”替换为id =“ cat_up_id”

答案 1 :(得分:0)

Sonnal Bonkar是正确的,您需要在这里进行表联接。这是您的情况,因为您需要将id值存储在表中

$('#cat_up_id').html('<option value="'+ data[1] +'">' + data[6] + '</option>');