<!DOCTYPE html>
<html>
<head>
<title>Risky Jobs -Search</title>
<link rel="stylesheet" type="text/css" href="search.css">
</head>
<body>
<h3>Risky Jobs</h3>
<?php
require_once('define.php');
@$sort = $_GET['sort'];
// echo $sort;
$user_search = 'Proses, 0509';
// $sort = $_GET['sort']? $_GET['sort']:'';
// $user_search = $_GET['usersearch'];
#定义分页变量
$cur_page = isset($_GET['page'])? $_GET['page'] : 1;
$results_per_page = 5;//当前页
$skip = (($cur_page - 1) * $results_per_page); //跳转行数
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die('connect to db failed');
//定制函数build_query
function build_query($user_search,$sort){
$search_query = "select * from smsrecord";
$clean_search = str_replace(',', ' ', $user_search);//将逗号转换为空格
$search_words = explode(' ', $clean_search);//将字串用空格拆分
// echo '<pre>';
// print_r($search_words);
// 预处理去除空格
$final_search_words = array();
if (count($search_words)>0) {
foreach ($search_words as $words) {
if (!empty($words)) {
$final_search_words[] = $words;
// echo '<pre>';
// print_r($final_search_words);
}
}
}
//where 语句
$where_list = array();
if (count($final_search_words) > 0) {
foreach ($final_search_words as $word) {
$where_list[] = "content like '%$word%' ";
}
}
$where_clause = implode(' or ', $where_list);//传入定界符or
// echo '<pre>';
// print_r($where_clause);
if (!empty($where_clause)) {
$search_query .= " where $where_clause";
// echo '<pre>';
print_r($search_query);
}
//使用$sort 构建order by 排序
switch ($sort) {
case 1:
$search_query .= " order by result";
break;
case 2:
$search_query .= " order by result desc";
break;
case 3:
$search_query .= " order by sendtime";
break;
case 4:
$search_query .= " order by sendtime desc";
break;
default://如果没有点击任何列,不完成任何排序
// break;
}
return $search_query;
// echo '<pre>';
// print_r($search_query);
}
$search_query = build_query($user_search,$sort);
$data = mysqli_query($dbc, $search_query);
$total = mysqli_num_rows($data); //总行数
// echo $total;
$num_pages = ceil($total / $results_per_page);//总页数 ceil向上取整
// echo $num_pages;
#构建分页函数 generate_page_links
function generate_page_links($user_search, $sort, $cur_page, $num_pages){
$page_links = '';
#如果不是首页,生成上一页
if ($cur_page > 1) {
$page_links .= '<a href="'. $_SERVER['PHP_SELF'].'?usersearch='. $user_search.'&sort='.$sort.'&page='.($cur_page - 1).'"><- </a>';
}else{
$page_links .= '<- ';
}
#循环生成其他页面
for ($i=1; $i < $num_pages; $i++) {
if ($cur_page == $i) {
$page_links .= ' '. $i ;
}else{
$page_links .= '<a href="'. $_SERVER['PHP_SELF'].'?usersearch='. $user_search.'&sort='.$sort.'&page='. $i .'"> '. $i.' </a>';
}
}
#r如果不是最后一页 生成下一页
if ($cur_page < $num_pages) {
$page_links .= '<a href="'. $_SERVER['PHP_SELF'].'?usersearch='. $user_search.'&sort='.$sort.'&page='.($cur_page + 1).'"> -></a>';
}else{
$page_links .= ' ->';
}
return $page_links;
}
$query = $search_query." limit $skip, $results_per_page";
// echo $query;
$result = mysqli_query($dbc, $query);
if (mysqli_num_rows($data)>0) {
//构建排序函数generate_sort_links 1,3 升序,2,4降序
function generate_sort_links($user_search, $sort){
$sort_links = '';
switch ($sort) {
case 1:
$sort_links .= '<th><a href="'.$_SERVER['PHP_SELF'].'?usersearch='.$user_search.'&sort=2">result</a></th>';
$sort_links .= '<th><a href="'.$_SERVER['PHP_SELF'].'?usersearch='.$user_search.'&sort=3">sendtime</a></th>';
break;
case 3:
$sort_links .= '<th><a href="'.$_SERVER['PHP_SELF'].'?usersearch='.$user_search.'&sort=1">result</a></th>';
$sort_links .= '<th><a href="'.$_SERVER['PHP_SELF'].'?usersearch='.$user_search.'&sort=4">sendtime</a></th>';
break;
default:
$sort_links .= '<th><a href="'.$_SERVER['PHP_SELF'].'?usersearch='.$user_search.'&sort=1">result</a></th>';
$sort_links .= '<th><a href="'.$_SERVER['PHP_SELF'].'?usersearch='.$user_search.'&sort=3">sendtime</a></th>';
break;
}
return $sort_links;
}
$sort_links = generate_sort_links($user_search,$sort);
echo '<table border="0" cellpadding="2">';
echo '<tr><th>Id</th><th>content</th>';
echo '<th>mcc</th>';
echo $sort_links.'</tr>';//排序
// echo '<th><a href="'.$_SERVER['PHP_SELF'].'?usersearch'.$user_search.'&sort=3">sendtime</a></th></tr>';
while ( $row = mysqli_fetch_array($result)) {
echo '<td valign="top" width="2%">'.$row['sms_id'].'</td><td valign="top" width="60%">';
echo substr($row['content'], 0, 90).'...</td><td valign="top" width="10%">';
echo $row['mcc'].$row['mnc'].'</td><td valign="top" width="10%">';
echo $row['result'].'</td><td valign="top" width="10%">';
echo substr($row['sendtime'], 0, 10).'</td><tr>';
}
echo '</table>';
if ($num_pages > 1) { //如果页数大于1 调用分页函数
echo generate_page_links($user_search, $sort, $cur_page, $num_pages);
}
}
mysqli_close($dbc);
?>
</body>
</html>