php - 如何获取 HTML 表格值并分配给选择和输入文本字段?
问题描述
我希望你们一切都好,我一直面临着将数据从 HTML 表中获取到选择框的问题。
我正在使用 Php MySQLi 和 Ajax 使用 Jquery 来执行插入、更新、删除和查看等操作。我完成了两个过程,例如插入和在表格上显示数据,但是我无法获取 HTML 表格并在 HTML 标签选择框中进行分配。
我使用外键引用来建立类别和产品表之间的关系。我想从产品表中获取Category_Name 并将选定的 category_name 分配到 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>
我将完整的数据接收到控制台屏幕,但看不到 category_name 我正在接收 category_id。所以请告诉我我能做些什么来解决这个问题。
这是控制台中 项目的输出控制台中的项目输出
解决方案
首先,您需要使用 Inner Join 从 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>');
并且,在选择标签中用 id="cat_up_id" 替换属性 name="cat_up_id"
推荐阅读
- ios - 如何使用 UIScrollView swift 4 制作水平和垂直复杂视图
- kubernetes - 使用 API 在 k8s 上部署 custom_resource_definition
- symfony - Symfony 注释目录在 prod 环境中非常大
- xaml - 您能否在 UWP XAML 中定义一个厚度静态资源,该资源引用另一个静态资源(双精度)作为其值之一?
- r-markdown - 如何在 RMarkdown 中包含 Bibtex 参考?
- python - 使用 Python 将 CSV infile 更改写入 CSV outfile
- laravel - 初始化 DB:Laravel 存储库模式中的事务
- python - Python CVXPY kronecker 产品尺寸
- pdf - 如何在浏览器中打开 pdf 而不是在 webapi 中下载
- php - 尝试将函数添加到已经存在的 PHP 库