我在Stackoverflow中看到了一些相关的帖子。试过那段代码,但对我来说没有用。
我有一个代码可以从数据库中获取数据:
function getWrkNoTest($wrkno){
$conf = new BBAgentConf();
$log = new KLogger($conf->get_BBLogPath().$conf->get_BBDateLogFormat(), $conf->get_BBLogPriority() );
$connection = MySQLConnection();
$getWrkNoTest ="";
$lArrayIndex = 0;
$query = mysql_query("SELECT a.jobinfoid, a.WRKNo, a.cate, a.det, a.compclosed, a.feedback, a.infoID, b.callerid, b.customername FROM
bb_jmsjobinfo a
LEFT JOIN bb_customer b ON a.customerid = b.customerid
WHERE a.WRKNo = '$wrkno';");
$result = mysql_query($query);
$log->LogDebug("Query[".$query."]");
while ($row = mysql_fetch_array($result)){
$getWrkNoTest = array("jobinfoid"=>$row['jobinfoid'],
"WRKNo"=>$row['WRKNo'],
"cate"=>$row['cate'],
"det"=>$row['det'],
"compclosed"=>$row['compclosed'],
"feedback"=>$row['feedback'],
"infoID"=>$row['customerid'],
"customerid"=>$row['infoID'],
"callerid"=>$row['callerid'],
"customername"=>$row['customername']);
$iList[$lArrayIndex] = $getWrkNoTest;
$lArrayIndex = $lArrayIndex + 1;
}
$QueryResult = print_r($getWrkNoTest,true);
$log->LogDebug("QueryResult[".$QueryResult."]");
closeDB($connection);
return $iList;
}
此代码将连接到mysql,数据库并从数据库中检索数据。让我们说这个文件名是mysql.php。之后我有一个名为getjson.php的文件,这个文件将从mysql.php获取数据并发送到ajax。这个文件代码如下:
<?php
//getCustomerNames will display all customer name that use the same number phone ,displayed on *top callername slection
include 'mysql.php';
$wrkno = $_GET["wrkno"];
$jms = getWrkNoTest($wrkno);
foreach($jms as $findContact){
$findContact['jobinfoid'];
$findContact['WRKNo'] ;
$findContact['cate'] ;
$findContact['det'] ;
$findContact['compclosed'] ;
$findContact['feedback'] ;
$findContact['customerid'] ;
$findContact['infoID'];
$findContact['infoID'];
$findContact['customername'] ;
$matches[] = $findContact;
}
echo json_encode($matches);
?>
然后,这是我的ajax代码,它将所有数据解析为html:
$.getJSON("jsonJms.php", {wrkno: wrkno}, function(data) {
$.each(data, function(key,val) {
$("#cname").val(val.customername);
$("#cnumb").val(val.callerid);
$("#comp").val(val.compclosed);
$("#cate").val(val.cate);
$("#det").val(val.det);
$("#feed").val(val.feedback);
});
});
当在浏览器中运行时,只需输出Null。请帮助我。任何帮助,我一生都会欣赏。
答案 0 :(得分:0)
尝试以下选项,
使用header('Content-type: application/json');
设置内容类型,然后在jsonJms.php中回显您的数据。 [通过直接在地址栏中点击URL并指定wrkno变量来检查是否通过JSON数据获取数据。
修改您的代码,如下所示
$.getJSON("jsonJms.php", {wrkno: wrkno}, function(data) {
$("#cname").val(data.customername);
$("#cnumb").val(data.callerid);
$("#comp").val(data.compclosed);
$("#cate").val(data.cate);
$("#det").val(data.det);
$("#feed").val(data.feedback);
})
.done(function() {
alert( "second success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "complete" );
});
希望它会对你有所帮助。 :)
答案 1 :(得分:0)
如果没有从PHP层返回任何内容,那么那就是你的问题所在。 确保您的数据库查询实际上是返回数据,如果是,请检查正在执行的操作。