nasıl mümkün olduğunca verimli php veri saymak ve rütbe

2 Cevap php

Ben programlama için yeni değilim, ama ben MySQL ve PHP için yeni. Ben ne aşağıdakileri yapmanın en etkili yolu merak ediyorum. Ben gerçek kod gerek yok, ama sadece adımlar.

Ben kullanıcı yorumlarını bir listesi var, basitçe söylemek sağlar:

USER    REVIEW  
Bob     nice
John    good
Fred    bad
Bob     poor
Bob     the best
Fred    medicre
Bob     shiny

Ben en çok değerlendirmeleri yapmış yorumcular, yani bir liste oluşturmak mümkün olmak istiyorum

USER REVIEWS
Bob  4
Fred 2
John 1

WHat en verimli şekilde, bu konuda gidiş iyi yolu

şerefe!

2 Cevap

Lütfen sorgu gibi:

SELECT user, COUNT(*) AS reviews
FROM <table name>
GROUP BY user
ORDER BY reviews DESC;

Bazen kod ile kendilerini açıklamak için programcılar için sadece daha kolay:

// Credit to Chad Birch for the query...
$query = "SELECT user, COUNT(*) AS reviews 
          FROM <table name>
          GROUP BY user
          ORDER BY reviews DESC";

$res = mysql_query($query);
if(mysql_num_rows($res) > 0) {
    $res_array = mysql_fetch_assoc($res);
    $list = "<h1>USER REVIEWS</h1>\n";
    foreach($res_array as $user) {
        $list .= $user['user'].' '.$user['reviews']."<br />\n";
    }
}

echo $list;

Yani, temelde, 9/10 kez, o böyle şeylere sadece yol daha verimli çünkü SQL sıralama ve şeyler yapalım en iyisi.

  1. SQL sorgusu yapmak ve sonuçlarını sıralamak izin
  2. Döndürülen herhangi bir sonuç varsa PHP onay görmek için izin.
  3. PHP dizi / nesne sonuçları dönüştürmek izin
  4. Let PHP tranverse dizi, özü gerekli içerik
  5. İstenen çıktıyı yazdırın.