Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math OSCommerce产品列表显示每页的计数和结果不准确_Math_Resultset_Oscommerce - Fatal编程技术网

Math OSCommerce产品列表显示每页的计数和结果不准确

Math OSCommerce产品列表显示每页的计数和结果不准确,math,resultset,oscommerce,Math,Resultset,Oscommerce,这是页面。查询结果的代码如下所示: 我无法理解OSCommerce是如何工作的。如果你还需要什么,请告诉我。此外,这只是SQL查询、PHP循环或某些数学错误中的常见问题吗?我希望被指向正确的方向,不一定需要确切的答案,因为这是一个黑客/定制的OsCommerce。我不认为这是垃圾邮件 这是oscommerce的常见问题。。esp自定义贡献插件在查询时会遇到更多麻烦。。oscommerce导航类不支持使用distinct或group by子句。。也就是说,当对记录进行计数时,它不考虑那些关键字。您

这是页面。查询结果的代码如下所示:


我无法理解OSCommerce是如何工作的。如果你还需要什么,请告诉我。此外,这只是SQL查询、PHP循环或某些数学错误中的常见问题吗?我希望被指向正确的方向,不一定需要确切的答案,因为这是一个黑客/定制的OsCommerce。

我不认为这是垃圾邮件

这是oscommerce的常见问题。。esp自定义贡献插件在查询时会遇到更多麻烦。。oscommerce导航类不支持使用distinct或group by子句。。也就是说,当对记录进行计数时,它不考虑那些关键字。您需要修改split page results类来修复此问题

干杯
湿婆我不认为这是垃圾邮件

这是oscommerce的常见问题。。esp自定义贡献插件在查询时会遇到更多麻烦。。oscommerce导航类不支持使用distinct或group by子句。。也就是说,当对记录进行计数时,它不考虑那些关键字。您需要修改split page results类来修复此问题

干杯 Shiva

问题出在splitResults类文件中osCommerce代码无法处理的“group by”子句中。为此挣扎了一段时间,这是我第一次尝试修复它:

if (strpos($sql_query, 'group by')) {
    $reviews_count_query = tep_db_query("select count(*) as total from (select count(*)" . substr($sql_query, $pos_from) .") as GroupedResult");
} else {
    $reviews_count_query = tep_db_query("select count(*) as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from)));
}
//$reviews_count_query = tep_db_query("select count(*) as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from)));
然而,随着进一步的测试,这也不能正常工作。然后我花了一些时间研究到底发生了什么,发现类似的代码已经存在于oscommerce中

在这里,您可以看到splitpageresults类是“groupby”子句…下面是“fix”,用于将正确的客户数量放入numrows查询中。然后该查询被splitpageresults占用,以生成“显示x/y结果”。

问题出在splitResults类文件中的“group by”子句中,osCommerce代码无法处理该子句。为此挣扎了一段时间,这是我第一次尝试修复它:

if (strpos($sql_query, 'group by')) {
    $reviews_count_query = tep_db_query("select count(*) as total from (select count(*)" . substr($sql_query, $pos_from) .") as GroupedResult");
} else {
    $reviews_count_query = tep_db_query("select count(*) as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from)));
}
//$reviews_count_query = tep_db_query("select count(*) as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from)));
然而,随着进一步的测试,这也不能正常工作。然后我花了一些时间研究到底发生了什么,发现类似的代码已经存在于oscommerce中


在这里,您可以看到splitpageresults类是“groupby”子句…下面是“fix”,用于将正确的客户数量放入numrows查询中。然后splitpageresults将该查询用于“显示x/y结果”。

不幸的是,事实并非如此,因为代码中存在一些错误的SQL,所以存在一些狡猾的数学运算。此外,Pastebin不再有效。不幸的是,它不是有效的,因为代码中有一些糟糕的SQL,所以存在一些不可靠的数学运算。再加上Pastebin已经失效。这是迄今为止最好的建议,非常感谢。我们可能会使用drupal迁移到ubercart。我避免修改OSC核心代码,因此与其编辑splitPageResults类,不如查看下面的Gerv答案(github链接很有用),或者考虑扩展splitPageResults类以满足您的需要。这是迄今为止最好的建议,非常感谢。我们可能会使用drupal迁移到ubercart。我避免修改OSC核心代码,因此与其编辑splitPageResults类,不如查看下面的Gerv答案(github链接很有用),或者考虑扩展splitPageResults类以满足您的需要。由于Cyril的评论,但这对我来说是一个有用的答案。不确定这个答案是否在Cyril的评论之后得到了扩展,但它对我来说是一个有用的答案。