php多功能搜尋+加分頁 代碼簡單,精簡
- 靜态頁面
<input type="search" placeholder="模糊搜尋" name="search" value="<?php echo empty($_GET['search'])?'':$_GET['search'];?>"/>
</form>
<form action="fenye.php" method="get">
<button name="yes" value="是" >我的客戶(是)</button>
<button name="no" value="否">停用客戶(否)</button>
<button name="my" value="管理者 元程浩" >我的客戶</button>
</form>
</body>
**
php代碼
- 接收值
//提示Notice:Undefined varialbe:tmp_i //在程式開頭加一句 error_reporting(E_ALL ^ E_NOTICE); $dbhost = 'localhost:3306'; $dbuser = 'root'; $dbpass = '密碼'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass); mysqli_query($conn , "set names utf8"); mysqli_select_db( $conn, '資料庫' ); $pagesize=2; $p=isset($_GET['p'])?$_GET['p']:1;//目前頁數,預設為1 $offset = ($p-1)*$pagesize; @$search=$_GET['search']; @$yes=$_GET['yes']; @$no=$_GET['no']; @$my=$_GET['my'];
- 判斷
if(!empty($search)){ $query[]="name LIKE '%$search%' or type LIKE '%$search%' or company LIKE '%$search%' or telephone LIKE '%$search%' or star LIKE '%$search%' or number LIKE '%$search%' or money LIKE '%$search%' or collection LIKE '%$search%'"; $urllist[]="search=".$_GET['search']; } if($yes){ $query[]="star like '%$yes%'"; $urllist[]="yes=".$_GET['yes']; } if($no){ $query[]="star like '%$no%'"; $urllist[]="no=".$_GET['no']; } if($my){ $query[]="person like '%$my%'"; $urllist[]="my=".$_GET['my']; }
- 查尋的資訊輸出
if(count($query)>0){ $where=" where ".implode(" and ",$query); $url='&'.implode('&',$urllist); }
- 分頁
$abs = "select count(*) nums FROM message $where"; $count_result = mysqli_query($conn,$abs); $count_array = mysqli_fetch_array($count_result); $pagenum=ceil($count_array['nums']/$pagesize); echo '<p>' , '總記錄數:', $count_array['nums'] , ',', '顯示  ' , $offset+1 , '~' , $offset+$pagesize , '</p>'; $prepage=$p-1; if($p==1){ $prepage=1; } $nextpage=$p+1; if($p==$pagenum){ $nextpage=$pagenum; } if ($pagenum > 1) { echo " <a href='fenye.php?p=1{$url}'>首頁</a>"; // 第一頁 echo "<a href='fenye.php?p={$prepage}{$url}'>上一頁</a>"; for($i=1;$i<=$pagenum;$i++) { if($i==$p) { echo ' [',$i,']'; } else { echo " <a href='fenye.php?p=$i{$url}'> $i </a>"; } } echo "<a href='fenye.php?p={$nextpage}{$url}'>下一頁</a>"; echo "<a href='fenye.php?p=$pagenum{$url}'>尾頁</a>"; // 最後一頁 } mysqli_close($conn);
-
完全代碼如下
-
<input type="search" placeholder="模糊搜尋" name="search" value="<?php echo empty($_GET['search'])?'':$_GET['search'];?>"/> </form> <form action="fenye.php" method="get"> <button name="yes" value="是" >我的客戶(是)</button> <button name="no" value="否">停用客戶(否)</button> <button name="my" value="管理者 元程浩" >我的客戶</button> </form> </body> </html> <?php error_reporting(E_ALL ^ E_NOTICE); $dbhost = 'localhost:3306'; $dbuser = 'root'; $dbpass = 'root'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass); mysqli_query($conn , "set names utf8"); mysqli_select_db( $conn, 'xhxt' ); $pagesize=2; $p=isset($_GET['p'])?$_GET['p']:1;//目前頁數,預設為1 $offset = ($p-1)*$pagesize; @$search=$_GET['search']; @$yes=$_GET['yes']; @$no=$_GET['no']; @$my=$_GET['my']; $query=array(); $urllist=array(); if(!empty($search)){ $query[]="name LIKE '%$search%' or type LIKE '%$search%' or company LIKE '%$search%' or telephone LIKE '%$search%' or star LIKE '%$search%' or number LIKE '%$search%' or money LIKE '%$search%' or collection LIKE '%$search%'"; $urllist[]="search=".$_GET['search']; } if($yes){ $query[]="star like '%$yes%'"; $urllist[]="yes=".$_GET['yes']; } if($no){ $query[]="star like '%$no%'"; $urllist[]="no=".$_GET['no']; } if($my){ $query[]="person like '%$my%'"; $urllist[]="my=".$_GET['my']; } $where=""; if(count($query)>0){ $where=" where ".implode(" and ",$query); $url='&'.implode('&',$urllist); } $sql="select * FROM message $where LIMIT $offset , $pagesize"; $retval = mysqli_query( $conn,$sql); echo '<table > <tr> <th>客戶名稱</th><th>所屬人</th><th>客戶類型 </th><th>客戶機關</th><th>聯系手機</th><th>是否标★</th><th>合同數 </th><th>銷售總額 </th><th>待收金額 </th><th>最後跟進 </th> </tr>'; while($row=mysqli_fetch_array($retval)) { echo "<td>{$row['name']} </td> ". "<td>{$row['person']} </td> ". "<td>{$row['type']} </td> ". "<td>{$row['company']} </td> ". "<td>{$row['telephone']} </td> ". "<td>{$row['star']} </td> ". "<td>{$row['number']} </td> ". "<td>{$row['money']} </td> ". "<td>{$row['collection']} </td> ". "<td>{$row['time']} </td> ". "</tr>"; } echo '</table>'; //分頁 $abs = "select count(*) nums FROM message $where"; $count_result = mysqli_query($conn,$abs); $count_array = mysqli_fetch_array($count_result); $pagenum=ceil($count_array['nums']/$pagesize); echo '<p>' , '總記錄數:', $count_array['nums'] , ',', '顯示  ' , $offset+1 , '~' , $offset+$pagesize , '</p>'; $prepage=$p-1; if($p==1){ $prepage=1; } $nextpage=$p+1; if($p==$pagenum){ $nextpage=$pagenum; } if ($pagenum > 1) { echo " <a href='fenye.php?p=1{$url}'>首頁</a>"; // 第一頁 echo "<a href='fenye.php?p={$prepage}{$url}'>上一頁</a>"; for($i=1;$i<=$pagenum;$i++) { if($i==$p) { echo ' [',$i,']'; } else { echo " <a href='fenye.php?p=$i{$url}'> $i </a>"; } } echo "<a href='fenye.php?p={$nextpage}{$url}'>下一頁</a>"; echo "<a href='fenye.php?p=$pagenum{$url}'>尾頁</a>"; // 最後一頁 } mysqli_close($conn); ?>