我是Ajax& amp;的初学者我正在使用AJAX来获取记录。虽然我正在获得价值,但我的问题是我在回声中打印表。因此,如果数据库中不存在相应的记录,那么它将获取空表。如果它为null,我不想获取表。
因此,我使用了mysql_num_rows
函数。
例如
我在php文件中检索记录为2个echo语句。
echo mysql_num_rows();
echo "table.... some code"; to fetch out table.
现在再次在JavaScript页面上我只想检索第一个回显,如果它不是0而不仅仅是打印表,否则我不希望打印空白值表..是否可能?
答案 0 :(得分:0)
当你进行AJAX通话时,你只能做一个echo
。
您可能希望echo
类似:
echo mysql_num_rows().'|'."table.... some code";
然后在javascript端你split('|')
来自服务器的数据。
编辑:
解决方案1简单解决方案
PHP方
$num_row = mysql_num_rows();
$data = 'Something';
echo $num_row.'|'.$data;
的Javascript
$.post('getThePhpSideData.php', function(data){
var aData = data.split('|'); // creates an array
var numrows = aData[0];
var html = aData[1]
});
解决方案2 JSON解决方案
PHP方
$json = array();
$json['num_row'] = mysql_num_rows();
$json['data'] = 'Something';
echo json_encode($json);
的Javascript
$.post('getThePhpSideData.php', function(data){
var obj = $.evalJSON(data);
var numrows = obj.num_row; //where num_row is the array associative key from php
var html = obj.data; //where data is the array associative key from php
});
答案 1 :(得分:0)
你可以这样做。
Send Ajax request ->
if Ajax request returns "false"
do nothing
else
show table
在你的PHP文件中
if num_rows > 0
output rows
else
echo "false"
以下是使用jQuery
的示例PHP文件:
<?php
$query = mysql_query("SELECT * FROM table");
if (mysql_num_rows($query) > 0) {
while($row = mysql_fetch_assoc($query)) {
echo $row['column'] . "<br />";
}
} else {
echo "false";
}
?>
Ajax请求
req = $.get('ajax/get.html', function(data) {
if data !== "false" {
$('.result').html(data);
}
});