0

我正在尝试根据该发送多个用户名和 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 [
4

1 回答 1

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);
于 2013-11-15T08:59:10.780 回答