使用json错误的多个用户名和html

时间:2013-11-15 08:31:08

标签: php jquery json

我试图根据这个发送多个用户名和HTML。问题是当从数据库中仅提取一个用户名时它会起作用。但如果我在循环中使用它,它不起作用。

我的PHP代码是。

$srch_txt=$_REQUEST['srch_txt'];
$frnd_srch_query=mysqli_query($con,"select friend_id from friend_list where login_id='$login_id' and status='3' ");
while($frnd_srch_query_result=mysqli_fetch_assoc($frnd_srch_query))
{
$f_id=$frnd_srch_query_result['friend_id'];
$frnd_name_srch_query=mysqli_query($con,"select f_name,l_name from users_profile where user_id='$f_id' and f_name like '%$srch_txt%'");
$frnd_name_srch_query_result=mysqli_fetch_assoc($frnd_name_srch_query);
$fname=$frnd_name_srch_query_result['f_name'];
$lname=$frnd_name_srch_query_result['l_name'];
$fullname=$fname.' '.$lname;
$html="<a href='profile.php?id=".$f_id."'>".$fullname."</a>";

 $list = array();
 $list[] = array('html' => $html ,'fullname' => $fullname);
 echo json_encode($list);

}

在上面如果我不使用循环只有一个数据用于用户名和html被发送并且它工作但是如果我使用循环它不起作用。我的jquery代码来获取它。

$.ajax({
url:"modules/tagging/ajax.php",
type:"POST",
data:datastring
}).done(function(data){
//alert(data);
var final_data = JSON.parse(data);

var html_resp=final_data[0]['html'];
$(".tag_search").html(html_resp);
//var html_fullname=final_data[0]["fullname"];
//var final_text=first_half+' '+html_fullname
//$(".update").val(final_text);

});

我得到的结果

[{"html":"<a href='profile.php?id=27'>deepak chauhan<\/a>","fullname":"deepak chauhan"}][{"html":"<a href='profile.php?id=28'>sumit saini<\/a>","fullname":"sumit saini"}]

我在jquery中遇到的错误是

Uncaught SyntaxError: Unexpected token [

1 个答案:

答案 0 :(得分:1)

您正在回显几个不同的JSON编码数据。相反,在循环中的单个数组中收集数据,然后输出结果数组一次。

如果不特别关注代码的作用,这就是我的意思......

$srch_txt = $_REQUEST['srch_txt'];
$frnd_srch_query = mysqli_query($con,"select friend_id from friend_list where login_id='$login_id' and status='3' ");

$list = array();

while( $frnd_srch_query_result = mysqli_fetch_assoc( $frnd_srch_query ) )
{
  $f_id = $frnd_srch_query_result['friend_id'];
  $frnd_name_srch_query = mysqli_query($con,"select f_name,l_name from users_profile where user_id='$f_id' and f_name like '%$srch_txt%'");
  $frnd_name_srch_query_result=mysqli_fetch_assoc($frnd_name_srch_query);
  $fname=$frnd_name_srch_query_result['f_name'];
  $lname=$frnd_name_srch_query_result['l_name'];
  $fullname=$fname.' '.$lname;
  $html="<a href='profile.php?id=".$f_id."'>".$fullname."</a>";

  $list[] = array('html' => $html ,'fullname' => $fullname);

}

echo json_encode($list);