设置按view值的总大小排序不是按首位数字排序$search = $_GETsearch;$page = isset$_GETpage $_GETpage 1;$number = 20;$page_max = $page $number;$page_min = $page - 1 $number;$con = mysqli_connectlocalhost us420092414795 p
可以通过修改查询语句中的ORDER BY子句来按view值的总大小排序。将原来的"ORDER BY view DESC"改为"ORDER BY SUM(view) DESC"即可。
修改后的代码如下:
$search = $_GET['search'];
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$number = 20;
$page_max = $page * $number;
$page_min = ($page - 1) * $number;
$con = mysqli_connect("localhost", "us420092414795", "pO0qm4xlpDZC");
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_set_charset($con, "utf8");
mysqli_select_db($con, "us420092414795");
$result = mysqli_query($con, "SELECT * FROM search WHERE (name LIKE '%" . $search . "%' OR lianjie LIKE '%" . $search . "%' OR shows LIKE '%" . $search . "%') GROUP BY name ORDER BY SUM(view) DESC LIMIT " . $page_min . ", " . $number);
$lianjie_count = mysqli_query($con, "SELECT COUNT(*) AS total_count FROM search WHERE (name LIKE '%" . $search . "%' OR lianjie LIKE '%" . $search . "%' OR shows LIKE '%" . $search . "%')");
$row = mysqli_fetch_array($lianjie_count);
$total_count = $row['total_count'];
$numerator = $total_count; // 分子
$denominator = $number; // 分母
$page_count = ceil($numerator / $denominator);
$result = mysqli_query($con, "SELECT * FROM search WHERE (name LIKE '%" . $search . "%' OR lianjie LIKE '%" . $search . "%' OR shows LIKE '%" . $search . "%') LIMIT " . $page_min . ", " . $number . "");
$arr = array();
while ($row = mysqli_fetch_array($result)) {
$arr[] = $row;
}
这样修改后,查询结果将按照view值的总大小进行排序
原文地址: http://www.cveoy.top/t/topic/iNq2 著作权归作者所有。请勿转载和采集!