混淆在AJAX中检索值

时间:2011-09-01 11:19:23

标签: php ajax

我是Ajax& amp;的初学者我正在使用AJAX来获取记录。虽然我正在获得价值,但我的问题是我在回声中打印表。因此,如果数据库中不存在相应的记录,那么它将获取空表。如果它为null,我不想获取表。 因此,我使用了mysql_num_rows函数。

例如

我在php文件中检索记录为2个echo语句。

echo mysql_num_rows();
echo "table.... some code"; to fetch out table.

现在再次在JavaScript页面上我只想检索第一个回显,如果它不是0而不仅仅是打印表,否则我不希望打印空白值表..是否可能?

2 个答案:

答案 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);
  }
});