それに応じて、複数のユーザー名とhtmlを送信しようとしています。問題は、データベースからユーザー名が 1 つだけ取得されている場合に機能することです。しかし、ループ内で使用している場合は機能しません。
そのための私の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のデータが1つだけ送信され、動作しますが、ループを使用すると動作しません。それを取得するための私の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 [