使用pdo搜索不是functiong

时间:2016-05-06 11:33:38

标签: php pdo

我有一个项目,我现在正在做,我的项目由CRUD功能组成,它工作正常。我的项目也有分页和搜索功能。

分页正在运行,但搜索功能似乎不起作用。我想要的是一个搜索,我可以搜索我的表格中的任何内容,就像我想要搜索所有字段或者可能是实时搜索一样。有人可以帮助我。

Dbconfig.php

<?php
$db_host = 'localhost'
$db_username = 'root';
$db_password = '';
$db_name = 'survey';

try{
$db_con = new PDO("mysql:host={$db_host};dbname={$dbname}",db_username,$db_password);
}
catch(PDOException $exception{
echo $exception->getMessage();
}
include_once 'class.paginate.php'
$paginate = new paginate($DB_con);
?>

Class.paging.php

<?php
class paginate{
    private $db;

    function __construct($DB_con)
    {
     $this->db = $DB_con;
     }

     public function dataview($query)
    {
     $stmt = $this->db->prepare($query);
     $stmt->execute();

     if($stmt->rowCount()>0)
     {
            while($row=$stmt->fetch(PDO::FETCH_ASSOC))
            {
               ?>
               <tr>
               <td><?php echo $row['user_id']; ?></td>
               <td><?php echo $row['username']; ?></td>
               <td><?php echo $row['password']; ?></td>
               <td><?php echo $row['province']; ?></td>
               <!-- <td><a href="<? php echo $row['tuts_link']; ?>">visit</a></td> -->

               </tr>
               <?php
            }
     }
     else
     {
            ?>
            <tr>
            <td>Nothing here...</td>
            </tr>
            <?php
     }

 }
 public function search($query)
 {
  $stmt=$this->db->prepare($query);
  $query = '%' . $query . '%';
  $stmt->bindparam('query', $query,  PDO::PARAM_STR);
  $stmt->execute();



  $result = $stmt->fetchAll(PDO::FETCH_OBJ);

  if(empty($result) or $result == false)
return array();
 else
  return $result;
  }
 public function  paging($query,$records_per_page)
 {
    $starting_position=0;
    if(isset($_GET["page_no"]))
    {
          $starting_position= ($_GET["page_no"]-1)*$records_per_page;
    }
    $query2=$query." limit. $starting_position,$records_per_page";
    return $query2;
 }

 public function   paginglink($query,$records_per_page)
 {

    $self = $_SERVER['PHP_SELF'];

    $stmt = $this->db->prepare($query);
    $stmt->execute();

    $total_no_of_records = $stmt->rowCount();

    if($total_no_of_records > 0)
    {
        ?><tr><td colspan="4"  align="center"><?php
         $total_no_of_pages=ceil($total_no_of_records/$records_per_page);
        $current_page=1;
        if(isset($_GET["page_no"]))
        {
             $current_page=$_GET["page_no"];
        }
        if($current_page!=1)
        {
           $previous =$current_page-1;
           echo "<a href='".$self."?page_no=1'>First</a>&nbsp;&nbsp;";
           echo "<a href='".$self."?page_no=".$previous."'>Previous</a>&nbsp;&nbsp;";
        }
         for($i=1;$i<=$total_no_of_pages;$i++)
        {
        if($i==$current_page)
        {
            echo "<strong><a href='".$self."?page_no=".$i."' style='color:red;text-decoration:none'>".$i."</a> </strong>&nbsp;&nbsp;";
        }
        else
        {
            echo "<a  href='".$self."?page_no=".$i."'>".$i."</a>&nbsp;&nbsp;";
        }
   }        if($current_page!=$total_no_of_pages)
   {
    $next=$current_page+1;
    echo "<a href='".$self."?page_no=".$next."'>Next</a>&nbsp;&nbsp;";
    echo "<a href='".$self."?page_no=".$total_no_of_pages."'>Last</a>&nbsp;&nbsp;";
   }
   ?></td></tr><?php
  }
 }
}

的index.php

<html>
<head>
  <link rel="stylesheet" href="style.css" type="text/css" />
  <link rel="stylesheet" type="text/css" href="Bootstrap/bootstrap.css">
  <script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>

  <body>
   <div id="search-wrapper">
<form name="search" method="GET" action="">
    <table id="search" class="table-responsive">
        <tr>
            <input name="var1" type="text" id="search-box">&nbsp;
            <button id="submit" name="submit" type="submit">Search</button>
        </tr>
    </table>
    <?php
 $query = "SELECT * FROM `login` WHERE (`username` like :query or `password` like :query) ";
 $paginate->search($query)
?>
</form>

 </div>

 <div id="table-wrapper" class="table-responsive">
    <table id="data" class="table table-striped table-hover">

        <thead>
        <tr>
                <th>ID</th>
                <th>Username</th>
                <th>Password</th>
                <th>Actions</th>
        </tr>
    </thead>


    <?php 
    $query = "SELECT * FROM login";       
    $records_per_page=20;
    $newquery = $paginate->paging($query,$records_per_page);
    $paginate->dataview($newquery);
    $paginate->paginglink($query,$records_per_page);  
    ?>
    </table>
 </div>
 <div id="footer">
 <a  href="http://cleartuts.blogspot.com/">cleartuts.blogspot.com</a>
  </div>
 </body>
 </html>

0 个答案:

没有答案