Difference between revisions of "Issue:%TOTALPAGES% is incorrect when allowUnlimitedResults=true"

From FollowTheScore
Jump to: navigation, search
(Problem: source of the problem)
(oops, no, solution)
Line 9: Line 9:
 
== Problem ==
 
== Problem ==
 
If you set allowUnlimitedResults to true (the global variable doesn't work, so I did it in DPLSetup.php), and use count to limit a query, %TOTALPAGES% will be limited (i.e. if you set the count to 10 and there are more than 10 pages, it will still be 10, i.e. the same as %PAGES%) --&nbsp;[[User:Nx|<span style="color:teal">'''''Nx'''''</span>]]&nbsp;/&nbsp;[[User talk:Nx|''talk'']] 07:34, 28 July 2010 (UTC)
 
If you set allowUnlimitedResults to true (the global variable doesn't work, so I did it in DPLSetup.php), and use count to limit a query, %TOTALPAGES% will be limited (i.e. if you set the count to 10 and there are more than 10 pages, it will still be 10, i.e. the same as %PAGES%) --&nbsp;[[User:Nx|<span style="color:teal">'''''Nx'''''</span>]]&nbsp;/&nbsp;[[User talk:Nx|''talk'']] 07:34, 28 July 2010 (UTC)
:I think I know what the problem is, you forgot SQL_CALC_FOUND_ROWS, see http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows --&nbsp;[[User:Nx|<span style="color:teal">'''''Nx'''''</span>]]&nbsp;/&nbsp;[[User talk:Nx|''talk'']] 07:43, 28 July 2010 (UTC)
+
:I found the source of the problem:
 +
 
 +
<pre>
 +
if ( !ExtDynamicPageList::$allowUnlimitedResults && $sGoal != 'categories'
 +
&& strpos($sResultsHeader.$sResultsFooter.$sNoResultsHeader,'%TOTALPAGES%')!==false) $sSqlCalcFoundRows = 'SQL_CALC_FOUND_ROWS';
 +
</pre>
 +
 
 +
in DPLMain.php. I think it should be something like this:
 +
 
 +
<pre>
 +
if ( (!ExtDynamicPageList::$allowUnlimitedResults || $sCount) && $sGoal != 'categories'
 +
&& strpos($sResultsHeader.$sResultsFooter.$sNoResultsHeader,'%TOTALPAGES%')!==false) $sSqlCalcFoundRows = 'SQL_CALC_FOUND_ROWS';
 +
</pre>
 +
 
 +
--&nbsp;[[User:Nx|<span style="color:teal">'''''Nx'''''</span>]]&nbsp;/&nbsp;[[User talk:Nx|''talk'']] 07:49, 28 July 2010 (UTC)
  
 
== Reply ==
 
== Reply ==

Revision as of 09:49, 28 July 2010

Description:
Extension / Version: DPL   /   ?
Type / Status: Bug   /   open

Problem

If you set allowUnlimitedResults to true (the global variable doesn't work, so I did it in DPLSetup.php), and use count to limit a query, %TOTALPAGES% will be limited (i.e. if you set the count to 10 and there are more than 10 pages, it will still be 10, i.e. the same as %PAGES%) -- Nx / talk 07:34, 28 July 2010 (UTC)

I found the source of the problem:
		if ( !ExtDynamicPageList::$allowUnlimitedResults 	&& $sGoal != 'categories' 
				&& strpos($sResultsHeader.$sResultsFooter.$sNoResultsHeader,'%TOTALPAGES%')!==false) $sSqlCalcFoundRows = 'SQL_CALC_FOUND_ROWS';

in DPLMain.php. I think it should be something like this:

		if ( (!ExtDynamicPageList::$allowUnlimitedResults || $sCount) && $sGoal != 'categories' 
				&& strpos($sResultsHeader.$sResultsFooter.$sNoResultsHeader,'%TOTALPAGES%')!==false) $sSqlCalcFoundRows = 'SQL_CALC_FOUND_ROWS';

-- Nx / talk 07:49, 28 July 2010 (UTC)

Reply