gpt4 book ai didi

php - 如何从数据库查询设置html输入字段值

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

这是我的按钮

$( "#editVehicle" ).button().click(function( event ) {

event.preventDefault();
var vp = $("input[name=vehicle_plate]").val();

var dataString = 'vehicle_plate='+ vp;

$.ajax({
type: "POST",
url: "editvehicle.php",
data: dataString,
success: function(){
alert("Success!");
}
});

});

这是我的 PHP

<?PHP
include("db.classes.php");
$g = new DB();
$g->connection();

if($_POST)
{
$vehiclePlate = $g->clean($_POST["vehicle_plate"],1);

$g->edit($vehiclePlate);
}
$g->close();
?>

这是我的 db.classes

public function edit($vehiclePlate)
{
$sql = "select vehicle_name from vehicles where vehicle_plate='$vehiclePlate'";

$result = mysql_query($sql);

$row = mysql_fetch_array($result);

echo "<script>

$(\"input[name=vehicle_model]\").val(".$row['vehicle_name'].");

</script>
";
}

我的html中有一个输入字段,我在其中输入车牌,然后当用户单击按钮时,程序会在数据库中搜索用户输入的车牌的车辆名称,并将值返回到另一个名为“vehicle_name”的输入字段。知道我哪里出错了吗?

最佳答案

在进行 AJAX 调用时,您应该依赖 JSON 来编码和传递信息 - 您在调用的 PHP 文件中以 JSON 格式对信息进行编码,将其发送回您的脚本并允许其解析:

public function edit($vehiclePlate)
{
$sql = "select vehicle_name from vehicles where vehicle_plate='$vehiclePlate'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo json_encode($row['vehicle_name']);
}

但是,我通常更喜欢回显数组,这样您就可以传递比查询数据更多的信息,例如成功/错误状态和其他字段:

public function edit($vehiclePlate)
{
$sql = "select vehicle_name from vehicles where vehicle_plate='$vehiclePlate'";
$result = mysql_query($sql) or die(json_encode(array("error" => 0, "errorMsg" => "MySQL query failed.")));
$row = mysql_fetch_array($result);
if(mysql_num_rows($row)) {
// 1 or more rows are returned
echo json_encode(array(
"success" => 1,
"vehicleName" => $row['vehicle_name'],
));
} else {
// No rows returned
echo json_encode(array(
"error" => 1,
"errorMsg" => "No rows returned"
));
}

}

警告:您不应该使用mysql_函数——它们是不安全的。使用mysqli_或准备好的语句

之后,您可以像普通对象一样使用 jQuery 解析 JSON 数据。请记住将 dataType 属性声明为 JSON(尽管 $.ajax() 会尝试智能猜测),这是一个很好的做法:)

$("#editVehicle").button().click(function(e) {

// Prevent default action
e.preventDefault();

// You can declare all variables in this scope with on var statement
var vp = $("input[name=vehicle_plate]").val(),
dataString = 'vehicle_plate='+ vp;

// Make magic happen
$.ajax({
type: "POST",
url: "editvehicle.php",
data: dataString,
dataType: "json", // Declare dataType
success: function(data){
$("input[name=vehicle_model]").val(data);
}
});

});

如果您更喜欢在 JSON 数据中使用数组:

    // Make magic happen
$.ajax({
type: "POST",
url: "editvehicle.php",
data: dataString,
dataType: "json", // Declare dataType
success: function(data){
if(!data.error && data.success) {
$("input[name=vehicle_model]").val(data.vehicleName);
} else {
alert(data.errorMsg);
}
}
});

关于php - 如何从数据库查询设置html输入字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23451079/

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