如何获得html表的值和asign到选择和输入文本字段?

dxpyg8gm  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(512)

我希望你们一切都好,我一直面临的问题,以获取数据从html表到选择框。
我使用php mysqli和ajax使用jquery来执行插入、更新、删除和查看等操作。我完成了两个过程,如插入和在表上显示数据,但我无法获取html表和在html标记选择框中分配。
我使用外键引用来建立类别和产品表之间的关系。我想从产品表中获取类别名称,并将所选类别名称分配到html选择框中。
下面是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>

我正在接收控制台屏幕中的完整数据,但我看不到类别名称。我正在接收类别id。请告诉我如何解决问题。
这里是console中的项目输出console中的项目输出

wqnecbli

wqnecbli1#

首先,您需要使用内部联接从product和category表查询数据库

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

然后您需要为category name再添加一个元素$data

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

然后您需要添加选项项来选择

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

并且,将select标记中的属性name=“cat\u up\u id”替换为id=“cat\u up\u id”

y0u0uwnf

y0u0uwnf2#

sonal-bonkar是正确的,您需要进行表连接,这里是一些您的情况下的更正,因为您需要将值作为id存储在表中

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

相关问题