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

时间:2010-02-09 16:31:43

标签: math resultset oscommerce

http://www.roguevalleyroses.com/rose_list.php?search_id=&class=&height=&growth=&color=&bloom_size=&bloom_type=&shade=&fragrance=&disease=&rebloom=&thorns=&zone=&hybridizer=Ashdown%20Roses&date_range=&text=&view=&show=&page=4

这是页面。查询结果的代码位于:http://pastebin.com/d51bfa53f

我无法理解OSCommerce的工作原理。需要帮助请叫我。另外,这只是SQL查询,PHP循环或某些数学错误中的常见问题吗?我希望能指出正确的方向,不一定需要一个确切的答案,因为这是一个被黑客攻击/定制的OsCommerce。

2 个答案:

答案 0 :(得分:2)

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

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)));

然而,经过进一步测试,这也无法正常工作。然后我花了一些时间来确定正在发生的事情,并在https://github.com/osCommerce/oscommerce2/blob/bda6f6df3e4ab027b72ecfe6a96ac70b6774b312/catalog/admin/stats_customers.php#L40-L45

找到了oscommerce中已存在的类似代码

在这里你可以看到splitpageresults类是“group by”子句......然后在下面是“修正”,将修正后的客户数量放入numrows查询中。然后通过splitpage结果调用该查询以显示“显示y结果的x”。

答案 1 :(得分:1)

我不认为这是垃圾邮件..

这是oscommerce的一个常见问题.. esp自定义贡献在查询时会增加更多麻烦.. oscommerce导航类不支持使用distinct或group by子句..也就是说,当它计数时对于记录,它不考虑这些关键字..您需要修改拆分页面结果类来解决此问题。

干杯 希瓦

相关问题