如何在实时搜索中使整行可点击
How to make an entire row clickable in live search
我正在直播 search.After 使用 ajax 连续写 link 它停止响应
这是我做的代码
//让这个页面的名字是index.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>
//本页为search.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;
}
我希望实时搜索结果行应该是可点击的,点击特定结果或行应该会转到所需页面,但我的实时搜索结果 link 不起作用
<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;
}
在此之后,我的整行现在都可以点击了。
我正在直播 search.After 使用 ajax 连续写 link 它停止响应
这是我做的代码
//让这个页面的名字是index.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>
//本页为search.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;
}
我希望实时搜索结果行应该是可点击的,点击特定结果或行应该会转到所需页面,但我的实时搜索结果 link 不起作用
<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;
}
在此之后,我的整行现在都可以点击了。