Bir satır içine çiftleri birleştirme ve php kullanarak değerleri özetlemek

2 Cevap php

Ben şu satırları hows bir tablo var ...

ID     | TITLE   |   ARTIST    |   ADDED               |  HITS | HITS THIS WEEK
--------------------------------------------------------------------------------
7505   | Track 2 |   Artist 1  |   2009-08-24 10:32:41 |  1539 |  2
7483   | Track 2 |   Artist 1  |   2009-08-23 16:58:35 |  1450 |  3
7324   | Track 1 |   Artist 1  |   2009-08-14 11:28:18 |  5291 |  1
7320   | Track 1 |   Artist 1  |   2009-08-14 10:24:17 |  2067 |  1

Ne yapmak istiyorum çiftleri hits ve hits this week ve bir satır olarak ekrana ekleyebilirsiniz olması.

Ben echo'ing için bir satır olarak çiftleri özetlemek istiyorum php kullanarak o (çiftleri ile) olduğu gibi mysql veri alıp, ve istiyorum.

Birisi bu konuda gitmek nasıl söyleyebilir?

EDIT:

İşte benim şimdiki sql sorgusu ...

SELECT `files`.`file_id` , `files_meta`.`title` , `files_meta`.`artists` , `files`.`added` , `files`.`uniquehits` , `files`.`uniquehits_week` , `files_meta`.`filename`
FROM promo_artists
INNER JOIN promo_files ON promo_artists.id = promo_files.artist_id
INNER JOIN files ON files.file_id = promo_files.file_id
INNER JOIN files_meta ON files.file_id = files_meta.file_id
WHERE username = '$username' ORDER BY `files`.`added` DESC

2 Cevap

SQL'de bunu yapmak için eğimli olurdu:

SELECT track, artist, SUM(hits) AS hits, SUM(hits_this_week) AS hits_this_week
  FROM Atable
 GROUP BY track, artist;

Bu PHP hesaplama yapmak zorunda kaydeder ve PHP ve DBMS arasındaki trafiği azaltır.

foreach($rows as $row) {
 $data[$artist][$track] += $hits;
}

?