我有一個基於PHP/MYSQL的應用程序,其中有一個搜索區域,當您按日期搜索時,則顯示在這些日期之間可用的房產/酒店。此外,我還有一些其他過濾器,如區域,酒店擁有的設施等。在PHP/MYSQL中計算篩選記錄
現在一切正常,但現在想要顯示每個過濾器的記錄數。
我試圖通過爲每個基於動態搜索用戶的過濾器添加多個查詢,但這使得我的頁面性能變慢。因爲如果我有5個過濾器,那麼我將運行5個查詢。
我已經看到了在Magento這樣的事情,它計算的是過濾器已如下圖所示的畫面效果的數量:
什麼將是這樣做的最好的方法,我只是需要一些可以遵循的邏輯和程序來解決這個問題。
發佈整個表的結構是困難的,但我並主張爲它的短,所以你們可能有一些想法,並提出了一些解決方案:
表是:
Properties - id, name
Factsheet_label - label_id, Name
Factsheet - id, label_id, prop_id, value (Yes, No)
我顯示全部來自factsheet_label表格的過濾器,然後我需要計算我有的屬性的結果。
使用mysql_num_rows並特別CATEGORY_ID讓這一切都取決於你如何得到您的查詢設置計數 –
。如果您使用的是GROUP BY,那麼您可以使用COUNT()來獲取該組的條目數。 – jeff
@RizwanSultan不,我已經表明,作爲一個例子,所以如果您點擊價格範圍0-999,那麼它會顯示紅色(2),這意味着我們需要動態計算每個過濾器的記錄數。對於這一個選項,我認爲每個過濾器都在運行查詢,但這會讓我的頁面變慢。 – Prashant