... Paginated arama sonuçlarından sayaçları Binası?

2 Cevap php

Kullanıcıların belirli kriterlere göre belirlenen kendi sonuçlarını daraltmak için izin eBay tarzı arama bölmeleri oluşturma. Örneğin:

Tags

Literature (8) Fiction (4) English (4) American (3) Non-fiction (2)

Mülkiyet parantez içinde olduğunu var sonuçlarının sayısı. Başlangıçta, benim görüntüleme sonuçları döngü içinde bu kodu koyarak sayaçlarını inşa:

if(isset($tags[$row['tags']])) {
    $tags[$row['tags']]++;
} else {
$tags[$row['tags']] = 1;
}

Sonra benim sonuçlar paginated ve çalışmayı durdurdu - Sorgu sadece üzerinde sayfa için yeterli veri döndürür, böylece sayaçlar sadece o sayfadaki sonuçlarını temsil eder.

Herkes başka bir yaklaşım önerebilirsiniz?

2 Cevap

Sen tag, COUNT(*) in <table> GROUP BY tag her etiket için toplam numaralarını almak için ikinci bir sorgu çalıştırmak gerekir.

edit:

Check this out. Bu bana göre bir yeni biridir, ama ne istediğiniz gibi görünüyor.

SELECT SQL_CALC_FOUND_ROWS, sonra da SELECT FOUND_ROWS(); ile sorgu takip ile sorgu başlayın

SELECT COUNT(*) FROM books WHERE tagid=$tagid

Bu ancak başka bir sorgu gerektirir. Lütfen sayfalama yöntemleri hakkında daha fazla bilgi veriniz.