Mysql coldFusion中的分页在搜索数据时计算错误记录计数

Mysql coldFusion中的分页在搜索数据时计算错误记录计数,mysql,coldfusion,pagination,Mysql,Coldfusion,Pagination,正在处理paginaton部件并使用mysql进行分页 除非我把结果过滤掉,否则一切似乎都很好 我当前的场景是:我在一个页面上显示12条记录 以下是我的数据细目: <cfset per_page = 12> <cfset start = per_page * page> <cfset start = start - per_page> <CFQUERY name="data" datasource="#dsn#"> select *,(selec

正在处理paginaton部件并使用mysql进行分页

除非我把结果过滤掉,否则一切似乎都很好

我当前的场景是:我在一个页面上显示12条记录

以下是我的数据细目:

<cfset per_page = 12>
<cfset start = per_page * page>
<cfset start = start - per_page>

<CFQUERY name="data" datasource="#dsn#">
select *,(select count(*) from u) as totalcount from u, s, v, ut, m where 1=1 
<cfif len(trim(search))>
    <cfset search = trim(htmlEditFormat(lcase(search)))>
     and lower(u.username) like <cfqueryparam cfsqltype="cf_sql_varchar" value="%#search#%">
</cfif>    
order by u.id 
LIMIT <cfqueryparam value="#start#" cfsqltype="cf_sql_integer" />,
<cfqueryparam value="#per_page#" cfsqltype="cf_sql_integer" />
</CFQUERY>

<cfset count = val(data.recordcount)>
  <cfset paginationNumbers = Round(count / per_page)>

当有搜索时,分页仍然显示,而我想隐藏它

嗯。。。当您说分页仍然显示时,您的意思是SQL语句的LIMIT部分仍然发送到DB吗

如果是的话,那就是了。关于是否搜索,您的条件仅限于WHERE filter子句,而不是LIMIT子句。你需要两者都有


如果不是你问的,我真的不明白你在说什么。也许你的措辞不太经济。

问题是你的问题表明你自己很少努力去做,这是对堆栈溢出的一种要求。这是一个很好的要求。在被告知之后,你没有真正更新你的问题,所以我不知道你期待什么。堆栈溢出不是慈善事业。这是一个问答网站,问题的质量和类型必须对未来的访问者有利。这不仅仅是解决你的问题,而是为任何人可能遇到的问题提供答案。所以转换特定于情境的代码并不真正合适。正如我所说:所以转换特定于情境的代码并不真正合适。为我转换代码/为我做语法错误检查并不是堆栈溢出的意思。问问自己:你的问题对你以外的人有什么好处?不是吗?不,所以它不适合堆栈溢出。无论你问多少次,这都不会改变。另外,你只是在偷懒:你问的问题是一个语法错误,错误消息会告诉你这行代码发生了什么,如果你看一下,很明显这是什么。我对这里的懒惰没有耐心。你为什么要为此责备我?我只是在阐述S/O的一般方法,我这样做只是因为您似乎不理解它。但这不是我的网站,所以我不制定规则,事实上,我也不同意他们,但这既不在这里也不在那里。说真的,我认为你应该在这里做一点自我反省,问问自己为什么对我冷嘲热讽。詹根,我认为你把StackOverflow和一个更传统的论坛搞混了。这是一个有节制的问答网站,在这里提出的问题是多人可能会遇到的问题,答案将提供持续的好处。正如@AdamCameron所述,它不是代码翻译服务。它不是一个代码审查服务。您可能会在或上取得更大的成功。如果尚未取得成功,您可能会参加StackOverflow巡演:。特别要注意题为“获取实际详细问题的答案”的部分。