首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php分页和MYSQL不同

问Php分页和MYSQL不同
EN

Stack Overflow用户
提问于 2012-11-26 19:51:53
回答 1查看 214关注 0票数 0

好的,我有一个基本的php分页脚本,它有一个基本的下一步和上一步按钮。现在,在我添加distinct子句之前,它可以很好地工作。请参阅下面的代码。

代码语言:javascript
复制
$query = "SELECT COUNT(*) as num FROM $tableName WHERE engine='$type' AND manufacturer='$man' AND '$year' BETWEEN start_year AND end_year";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages['num'];
echo "$total_pages";
$stages = 3;
$page = mysql_escape_string($_GET['page']);
if($page){
    $start = ($page - 1) * $limit; 
}else{
    $start = 0; 
    }   

// Get page data

$query1 = "SELECT Distinct model_group from $tableName WHERE engine='$type' AND manufacturer='$man' AND '$year' BETWEEN start_year AND end_year LIMIT $start, $limit";
$result = mysql_query($query1);

// Initial page num setup
if ($page == 0){$page = 1;}
$prev = $page - 1;  
$next = $page + 1;                          
$lastpage = ceil($total_pages/$limit);      
$LastPagem1 = $lastpage - 1;

现在,如果我将查询1中的查询更改为

代码语言:javascript
复制
 $query = "SELECT * From

代码运行良好,下面是我的下一步和上一步按钮的代码。

代码语言:javascript
复制
Previous Button

  if ($page > 1){
        echo "<a href='$targetpage?page=$prev&type=$type&manufacturer=$manufacturer&year=$year'><div class='previous'><img src='images/PrevButton1.fw.png' width='108' height='58' style='border: none;'/></span></a>";
    }else{
        echo "<span class='disabled'><div class='previous'>Previous</span></span>"; }

Next Button


if ($page < $lastpage){ 
        echo "<a href='$targetpage?page=$next&type=$type&manufacturer=$manufacturer&year=$year'><div class='next'><img src='images/MoreButton1.fw.png' width='108' height='58' style='border: none;'/></span></a>";
    }else{
        echo "<span class='disabled'><div class='next'>More</span></span>";
    }

有没有什么办法可以让我在count查询中包含不同的值?因为我认为它向第二个查询返回了一个不同的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-26 19:55:28

我认为你必须使用一个

代码语言:javascript
复制
SELECT COUNT(DISTINCT *)

在您的第一条语句中

在mysql中,更好的方法是在select中使用SQL_CALC_FOUND_ROWS选项来解决分页问题:

代码语言:javascript
复制
SELECT SQL_CALC_FOUND_ROWS * FROM mysql.user LIMIT 1

您的结果将是1行...但是有了

代码语言:javascript
复制
SELECT FOUND_ROWS();

你成为你的结果的计数,没有限制!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13564297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档