如何在实时搜索中使整行可点击



我正在进行实时搜索。使用 ajax 连续编写链接后,它停止响应

这是我制作的代码

/

/让此页面名称为索引.php

<div>
      <input type="search" id="searchterm" name="searchterm" placeholder="Search" >   
</div>
<table id="result"></table>

这是 index.page 的脚本

<script>
$(document).ready(function(){
    load_data();
    function load_data(query)
    {
        $.ajax({
            url:"search.php",
            method:"post",
            data:{query:query},
            success:function(data)
            {
                $('#result').html(data);
            }
        });
    }

$('#searchterm').keyup(function(){
        var search = $(this).val();
        if(search != '')
        {
            load_data(search);
        }
        else
        {
            load_data();            
        }
    });
});
</script>

此页面是搜索.php

$output='';
if(isset($_POST["query"]))
 {
    $keyword=mysqli_real_escape_string($conn, $_POST["query"]);
    $query="SELECT uid,name,lastname ,profile_pic,about FROM comnet_user_details WHERE uid!='$uid' AND concat_ws(' ',name, lastname) LIKE UPPER('%$keyword%')";
 $result=mysqli_query($conn,$query);

if(mysqli_num_rows($result) > 0)
 {
while($r=mysqli_fetch_array($result))
    {
        $nm=$r["name"]." ".$r["lastname"];
        $profilepic=$r["profile_pic"];
        $about=$r["about"];
        $id=$r["uid"];


  $output .=
     '<table class="msgtab" id="fetchresult">
      <tr  class="trow" onclick="location.href="conversation.php?value='.$id.'"">
     <td class="msg-col-1"><img src="images/profilepic/'.$r["profile_pic"].'alt="Avatar" class="circlemsg"></td>
     <td class="msg-col-2">
        <h5 class="msgheading">'.$nm.'</h5>
        <p class="msgcontent">'.$about.'</p>
        </td>
        </tr>;
        }
         echo $output;
}
我希望实时搜索结果行

应该是可点击的,并且单击特定结果或行应该会导致想要的页面,但我的实时搜索结果链接不起作用

  • <img src="images/profilepic/'.$r["profile_pic"].'alt="Avatar" class="circlemsg">中有错别字它需要<img src="images/profilepic/'.$r["profile_pic"].'" alt="Avatar" class="circlemsg">

  • 另外,profile_pic也有扩展名(即:"jpg,png"(?

编辑:

你能用这段代码替换这段代码吗(希望它会起作用(:- 创建table- 在 while 循环中 ->创建每一行<tr>- 然后关闭table

if(mysqli_num_rows($result) > 0) {
   $output = '<table class="msgtab" id="fetchresult">'; 
while($r=mysqli_fetch_array($result))
    {
        $nm=$r["name"]." ".$r["lastname"];
        $profilepic=$r["profile_pic"];
        $about=$r["about"];
        $id=$r["uid"];

    $output .=
    '<a href="conversation.php?value='.$id.'">
    <tr class="trow">
    <td class="msg-col-1"><img src="images/profilepic/'.$r["profile_pic"].'" alt="Avatar" class="circlemsg"></td>
    <td class="msg-col-2">
    <h5 class="msgheading">'.$nm.'</h5>
    <p class="msgcontent">'.$about.'</p>
    </td>
    </tr>
    </a>';
    }
$output .= '</table>';
echo $output;
}

好的。经过多次研究,我找到了解决方案,并且对我有用。就像那样

if(mysqli_num_rows($result) > 0) {
   $output = '<table class="msgtab" id="fetchresult">'; 
while($r=mysqli_fetch_array($result))
    {
        $nm=$r["name"]." ".$r["lastname"];
        $profilepic=$r["profile_pic"];
        $about=$r["about"];
        $id=$r["uid"];

    $output .=
'<table class="msgtab" id="fetchresult">
      <tr  class="trow" onclick=location.href="conversation.php?value='.$id.'">
     <td class="msg-col-1"><img src="images/profilepic/'.$r["profile_pic"].'" alt="Avatar" class="circlemsg"></td>
     <td class="msg-col-2">
        <h5 class="msgheading">'.$nm.'</h5>
        <p class="msgcontent">'.$about.'</p>
        </td>
        </tr>';
   }

$output .= '</table>';
echo $output;
}

在此之后,我的整行现在可以单击。

最新更新