gpt4 book ai didi

php - 将 id 存储到数据库表中并抛出名称

转载 作者:行者123 更新时间:2023-11-29 12:41:58 25 4
gpt4 key购买 nike

我正在开发一个用于数据输入的小项目。假设有一个名为 material fields
的表id、名称、可见、位置

以及其他名为received_material字段的表
id、material_id、数量、供应商

以及一个用于接收 Material 的简单 html 表单,结构见此处

<form method="post" action="<?php echo SERVER['PHP_SELF'] ?>">
<label for="date">date</label>
<input type="text" name="date" />

<label for="name">Material Name</label>
<input type="text" id="name" name="name" />

<label for="quantity">Weight</label>
<input type="text" name="quantity" />

<label for="supplier">Supplier</label>
<input type="text" name="supplier" />

<input type="submil" value="submit"/>
</form>

<script>
$('#name').autocomplete({source : 'supplier_chk.php'});
</script>

supplier_check.php 脚本在这里...

<?php include 'includes/session.php'; ?>
<?php include 'includes/functions.php'; ?>

<?php if(!logged_in()) {
redirect_to('login.php');
}
?>
<?php if ( logged_in_role('administrator') || logged_in_role('store') ) { ?>
<?php echo msg(); ?>

<?php

$search = escape_string($_GET['term']);
$sql = "SELECT id, supplier_name FROM `supplier`
WHERE `supplier_name` LIKE '%$search%'";
$result = mysqli_query($connection,$sql);
confirm_query($sql);

$json = [];
while ( $row = mysqli_fetch_assoc($result) )
{
$json[] = $row['supplier_name'];
}
echo json_encode($json);

}

?>

我正在使用 JQuery UI 进行名称自动完成。获取 Material 名称抛出ajax方法。它会很容易地自动完成 Material 名称,但我必须存储 Material ID 而不是 Material 名称。请帮助如何使用 jquery/javascript 或 php 执行此操作。

最佳答案

在名称输入之前添加隐藏字段并提供 id 来获取元素..

这里是 html 示例

<form method="post" action="<?php echo SERVER['PHP_SELF'] ?>">
<label for="date">date</label>
<input type="text" name="date" />

<label for="name">Material Name</label>
<input type="hidden" id="id" name="id" />
<input type="text" id="name" name="name" />

<label for="quantity">Weight</label>
<input type="text" name="quantity" />

<label for="supplier">Supplier</label>
<input type="text" name="supplier" />

<input type="submil" value="submit"/>
</form>


<script>
$('#name').autocomplete({
minLength: 0,
source : 'material_chk.php',
focus: function( event, ui ) {
$( "#name" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#name" ).val( ui.item.label );
$( "#id" ).val( ui.item.id );

return false;
}
});
</script>

在material_chk.php

<?php 
$search = escape_string($_GET['term']);
$size = isset($_GET['size'])? escape_string($_GET['size']): null;
$sql = "SELECT * FROM `materials`
WHERE `name` LIKE '%$search%'";
$result = mysqli_query($connection,$sql);
confirm_query($sql);
$json = [];
while ( $row = mysqli_fetch_assoc($result) )
{
$json[] = array("id"=>$row['id']),"label"=>$row['item_name']);
}
echo json_encode($json);
}

关于php - 将 id 存储到数据库表中并抛出名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25992566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com