2010-02-09 74 views
0

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=4OSCommerce產品清單顯示每頁不準確的計數和結果

這是頁面。查詢結果的代碼在這裏:http://pastebin.com/d51bfa53f

我無法理解OSCommerce的工作方式。需要幫助請叫我。另外,這只是SQL查詢,PHP循環中的一個常見問題,或者在某些數學中是錯誤的?我期望被指向正確的方向,不一定需要一個確切的答案,因爲這是一個黑客/自定義OsCommerce。

+0

。這是垃圾郵件嗎? – 2010-02-09 21:06:27

+1

不幸的是,它不是, – Zachary 2010-02-10 06:08:37

+0

由於代碼中存在一些不好的SQL,因此會出現一些狡猾的數學問題。再加上Pastebin不再有效。 – random 2010-02-14 05:42:35

回答

1

我不認爲這是垃圾郵件..

這是自從.. ESP定製的貢獻在增加更多的麻煩,當涉及到查詢..自從導航類不使用的不同支持常見問題或group by子句..也就是說,當它計入記錄時,它不會考慮這些關鍵字..您需要修改拆分頁面結果類來解決此問題。

乾杯 溼婆

+0

這是迄今爲止最好的建議,非常感謝。我們可能會用drupal轉移到ubercart。 – Zachary 2010-03-04 17:00:58

+0

我避免修改OSC核心代碼,因此而不是編輯splitPageResults類,請參閱下面的Gerv答案(github鏈接很有用),或者考慮擴展splitPageResults類以滿足您的需要。 – dading84 2016-11-04 11:21:35

2

的問題是,在「分組依據」條款,線上購物代碼無法處理 - 在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))); 

然而,進一步的測試,沒有正確或者工作。然後,我花了一些時間研究究竟發生了什麼,並發現類似的代碼已經存在於oscommerce中https://github.com/osCommerce/oscommerce2/blob/bda6f6df3e4ab027b72ecfe6a96ac70b6774b312/catalog/admin/stats_customers.php#L40-L45

在這裏您可以看到splitpageresults類是「group by」子句......然後下面是「fix 「將更正的客戶數量放入數字查詢中。然後,該查詢將被splitpage結果用於「顯示y結果的x」。

+0

自Cyril的評論以來,不確定這個答案是否已經擴展,但對我來說這是一個有用的答案。 – dading84 2016-11-04 11:19:32

相關問題