【发布时间】:2019-08-05 07:39:00
【问题描述】:
我有 2 个动态相关的 SelectBoxes,一个带有客户名称,另一个带有发票日期,带有一个按钮,分别根据客户名称和他的日期获取数据并填充下面的表单字段。整个过程已完成并且正在运行,但由于日期未获取,整个过程停止。现在客户由我决定,我不知道该怎么办。我不太擅长 php 或 js。如果你们能帮我解决这个问题,并尝试以更简单的方式解释,我将欠你们的债。 TIA。
它工作正常,但突然它获取客户名称而不是日期,我不知道为什么。该程序运行良好近 5 6 个月,但几天前此错误突然发生,没有任何更改。
我试图创建新的数据库认为可能是错误但它没有工作。
我还用备份恢复了代码文件,但仍然没有运气。
//data.php
<?php
require '../db_connection.php';
header("Access-Control-Allow-Origin: *");
$action = $_GET['action'];
if($action=="getclientRecords"){
getclientRecords($con);
}
function getclientRecords($con){
$id = $_POST['client_id'];
$sql="SELECT `invoice_data`.`item_date` FROM `invoice_data` WHERE `invoice_data`.`client_id`=$id";
$result = mysqli_query($con, $sql);
$results = mysqli_fetch_all($result);
return json_encode($results);
}
$date = $_GET['action'];
if($date=="getclientRecordByDate"){
getclientRecordByDate($con);
}
function getclientRecordByDate($con){
$client_date = $_POST["date"];
$client_id = $_POST["client_id"];
$sql = "SELECT client_name, `item_date`, item_refe, item_parti, balance_amount, item_amnd, item_amnf, item_tax, item_amniw, item_amnif FROM `invoice_data` WHERE `item_date` = '$client_date' AND client_id = '$client_id'";
$result = mysqli_query($con, $sql);
$results = mysqli_fetch_array($result);
echo json_encode($results);
}
?>
结果。 IE。
Client name = YAP KHIN CHOY
Date: 2 June, 2019, 3 June, 2019, 5 June, 2019
Pressing Fetch Button:
Populate the form below with the relevant data.
【问题讨论】:
-
嗨,开始调试的最好方法是激活错误日志并显示它们,然后它们将成为结果的一部分,所以你会得到无效的 json,但你至少可以在响应中看到什么出错了:here you can find an example 修复 500 错误后,您需要回显函数的结果:即。
echo getclientRecords($con);否则不会返回给请求者。希望这会有所帮助! -
它令人困惑,另一个方法有
return另一个有echo。也许您的意思是getclientRecords以echo json_encode($results);的形式返回保持一致,要么在函数内部使用 return 要么立即回显它,只需选择一个 -
与您的具体问题无关,但您的代码易受 SQL 注入攻击,因此如果您现在面临来自客户端的压力,请想想如果系统被入侵会发生什么?
-
你也可以添加 ajax 代码吗?
标签: javascript php mysql ajax