如何在php ajax中搜索用户名 [英] how to search a username in php ajax

查看:72
本文介绍了如何在php ajax中搜索用户名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿,我需要一些帮助,请指导我在编码方面做错的地方. 这是显示用户记录的表

hey guys I need some help please guide me where I am doing wrong in coding. This is table of showing record of users

我想对index.php文件进行分页操作和搜索操作.分页有效,但是当我在搜索栏上输入单个字母(例如:a或Haris)时,向我显示消息,提示找不到数据这是在搜索栏上输入用户名时显示的消息

I want pagination operation and search operation on my index.php file. Pagination is working but when I am type a single letter (example: a or Haris) on search bar then show me message that data not found this is message showing when type a username on search bar

这是我的ajax函数,它在index.php文件上是分页或搜索

<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);
        }
        });
        }

           $('#message').keyup(function(){
           var srch = $(this).val();
           if(srch != '')
       {

           load_data(srch);
        }

        else
       {
          load_data();
       }
       });


       function load_data(page)  
       {  
       $.ajax({  

            url:"search.php",  
            method:"GET",  
            data:{page:page},  
            success:function(data){  
                 $('#pagination_data').html(data);  
            }  
       })  
  }  

       $(document).on('click', '.pagination_link', function(){  
       var page = $(this).attr("id");  
       load_data(page);  
  });  
  });
  </script>

这是我的search.php文件

<?php
  include("common/config.php");
   $output = '';

    if(isset($_POST["query"]))
   {
    $search =  $_POST["query"];

   $where = "id LIKE '%".$search."%' 
      OR name LIKE '%".$search."%' 
      OR email LIKE '%".$search."%' 
      OR phone LIKE '%".$search."%'";

   $query = $db->select(array("*"),"user","$where","","id desc","");
   }
    else
   {
    $limit = 5; 

    $page = '';
   if (isset($_GET["page"] )) 
      {
    $page  = $_GET["page"]; 
    } 
else 
   {
    $page=1; 
   } 

   $record_index= ($page-1) * $limit; 

    $query = $db->select(array("*"),PREFIX."user", "", "", "id desc", "$record_index, $limit");
    }

  if($query)
 {
    $output .= '
      <div class="table-responsive">
      <table class="table table bordered">
      <tr>
         <th style="text-align: center !important;"><input type="checkbox" name="select_all" id="select_all" value=""/></th>
         <th style="text-align: center !important;">ID</th>
         <th style="text-align: center !important;">Name</th>
         <th style="text-align: center !important;">Email</th>
         <th style="text-align: center !important;">Phone</th>
         <th colspan="4" style="text-align: center !important;">Action</th>
     </tr>
    ';
      foreach($query as $row)

   {
      $output .= '
    <tr align="center">
      <td align="center"><input type="checkbox"  name="checked_id[]"  
  class="checkbox" value="'.$row->id.'"/></td> 
      <td>'.$row->id.'</td>
      <td>'.$row->name.'</td>
      <td>'.$row->email.'</td>
      <td>'.$row->phone.'</td>
      <td><a href="edit-form.php?edit='.$row->id.'">Edit</a></td>
      <td><a onclick="return confirm(\'Are you sure to delete?\')" 
 href="del.php?del='.$row->id.'">Delete</a></td>
    </tr>';
    }

    $output .= '</table><br /><div align="center">';  
     $total_pages = ceil($db->countfields("*","user") / $limit);  
    for($i=1; $i<=$total_pages; $i++)  
   {  
        $output .= "<span class='pagination_link' style='cursor:pointer; padding:6px; border:1px solid #ccc;' id='".$i."'>".$i."</span>";  
 } 

    $output .= '</div><br /><br />';  
    echo $output;
  }
else
  {
 echo 'Data Not Found';
 }

 ?>

当我更改函数名称时,分页正在工作,但是它仍在搜索用户记录,但不起作用.

<script>

   $(document).ready(function(){

   load_data_1();
   load_data_2();

   function load_data_1(query)
    {
      $.ajax({
      url:"search.php",
      method:"POST",
      data:{query:query},
      success:function(data)
    {
      $('#result').html(data);
    }
  });
   }

      $('#message').keyup(function(){
      var srch = $(this).val();
      if(srch != '')
      {
      load_data(srch);
       }
       else
      {
       load_data_1();
      }
       });

       function load_data_2(page)  
  {  
       $.ajax({  
            url:"search.php",  
            method:"GET",  
            data:{page:page},  
            success:function(data){  
                 $('#pagination_data').html(data);  
            }  
       })  
  }  
      $(document).on('click', '.pagination_link', function(){  
       var page = $(this).attr("id");  
       load_data_2(page);  
  });  
});
 </script>

推荐答案

我从您的代码中看不到"PREFIX"是什么,但是在搜索查询中,分页查询中却缺少它.希望对您有帮助

I don't see from your code what "PREFIX" is, but in the search query it is missing while it is present in the pagination query. Hope it helps

这篇关于如何在php ajax中搜索用户名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆