您好,当选择 ID 时,我正在使用 JQuery 脚本填充表单上的 3 个字段。我的脚本从 3 个不同的 PHP 文件中提取数据,这使得我的脚本运行缓慢。我想知道是否有一种方法可以将我的所有 PHP 文件编译成 1 个文件,以使我的脚本更方便。
脚本
function updatefrm($name, $qty1, $price, $plink) {
var name = $("#" + $name).val();
if ($.trim(name) !='') {
$.post('../action/subs/name2.php', {name: name}, function(data) {
$("#" + $qty1).val(data);
});
$.post('../action/subs/name.php', {name: name}, function(data) {
$("#" + $price).val(data);
});
$.post('../action/subs/name3.php', {name: name}, function(data) {
$('#cimage').attr('src', '../components/mijoshop/opencart/image /'+data);
});
}
}
名称.php
<?php
if (isset($_POST['name']) === true && empty($_POST['name']) === false) {
require '../db/connect6.php';
$query = mysql_query("
SELECT `product`.`price`
FROM `shop_product`
WHERE `shop_product`.`product_id` = '". mysql_real_escape_string(trim($_POST['name']))."'
");
echo (mysql_num_rows($query)!==0)? mysql_result($query,0,`price`):'price not found';
}
?>
name1.php
<?php
if (isset($_POST['name']) === true && empty($_POST['name']) === false) {
require '../db/connect6.php';
$query = mysql_query("
SELECT `product`.`product_id`
FROM `shop_product`
WHERE `shop_product`.`product_id` = '". mysql_real_escape_string(trim($_POST['name']))."'
");
echo (mysql_num_rows($query)!==0)? mysql_result($query,0,`product_id`):'price not found';
}
?>
name2.php
<?php
if (isset($_POST['name']) === true && empty($_POST['name']) === false) {
require '../db/connect6.php';
$query = mysql_query("
SELECT `product`.`image`
FROM `shop_product`
WHERE `shop_product`.`product_id` = '". mysql_real_escape_string(trim($_POST['name']))."'
");
echo (mysql_num_rows($query)!==0)? mysql_result($query,0,`image`):'price not found';
}
?>
最佳答案
更改您的 name.php 脚本,使其执行以下操作:
<?php
// empty will do isset too, so you get two for the price of one!
if (!empty($_POST['name'])) {
require '../db/connect6.php';
$safe_name = mysql_real_escape_string(trim($_POST['name']));
$query = mysql_query("
SELECT price, product_id, image
FROM `shop_product`
WHERE `shop_product`.`product_id` = '". $safe_name ."'
LIMIT 1
");
if (mysql_num_rows($query) > 0) {
$row = mysql_fetch_assoc($query);
json($row);
} else {
json(null);
}
}
function json ($array) {
header("Content-Type: application/json");
echo json_encode($array);
}
?>
然后将您的 JavaScript 更改为:
if ($.trim(name) !='') {
$.post('../action/subs/name.php', {name: name}, function(data) {
$("#" + $qty1).val(data['qty']);
$("#" + $price).val(data['price']);
$("#cimage").attr('src', '../components/mijoshop/opencart/image/'+data['image']);
});
}
关于php - 使用 Mysql 数据库中的数据自动填充输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23484391/