我试图根据这个发送多个用户名和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 [
答案 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);