Incelemelerde tarihe göre sıralama

2 Cevap php

Birçok incelemelerde, yeni bir MySQL satır hakkını sorgulayarak .. vs tarih, yardımseverlik, tarafından Esasen bu işi çözmek için bir özellik genellikle var?

Örneğin:

$sql = "SELECT * FROM TABLE ORDER BY TimeAdded"
$sql = "SELECT * FROM TABLE ORDER BY Helpfulness"

Ya da bunu yapmak için daha iyi bir yolu var olurdu?

İkincisi, değerlendirmeleri için sayfaları yapma. Bu sayfa başına 10 sonuçlarını göstermek için MySQL sorguda bir döngü ve bir limiti kullanmak kadar basit mi?

Edit: For a huge review site, would letting MySQL handle all the sorting be ideal?

2 Cevap

Ya veritabanı (önerilir) ya da tüm sonuçları yüklemek ve ardından PHP kodu kullanarak bunları sıralamak orada olduğu gibi sipariş yönetmesine izin verebilir. Alternatif olarak, HTML içine onları koymak ve JavaScript kullanarak bunları sıralamak olabilir.

Pagination için, LIMIT kullanabilir ve OFFSET fıkrasının (veya LIMIT 10,10) resultset değişiklikleri eğer, senin sayfalama olabilir (Tabii bir resultset yoluyla sayfa de) değiştirebilirsiniz.

SELECT * FROM posts VEYADER BY helpfulness LIMIT 10,10

VEYA

SELECT * FROM posts VEYADER BY helpfulness LIMIT 10 OFFSET 10

Sayfalama birleştirme ve sıralama için, ben kesinlikle işlemek için veritabanına onu bırakarak tavsiye ederim.

Haklısınız hem sayıları, Doug onu aldım.

Büyük bir inceleme sitesi için, yine sadece sunucu tarafı optimizasyonlar (iyi bir my.cnf, sunucu tarafında önbelleğe alma, vb) ve kod önbelleğe alma faydalanmak isteyen, MySQL sonuçlarını sıralamak istiyorum. Bu balmumu bir bütün 'nother top, ama temelleri temelde aynıdır.