2010-09-22 80 views
0

我正在開發一個訪問計數器,我想增加一個數字,具體取決於瀏覽器和操作系統。PHP:過濾MYSQL數組

例如:

Firefox  Mac OS X 

Safari  Mac OS X 

Firefox  Mac OS X 

Firefox  Linux 

然後,網站將顯示

的Safari在Mac OS X 1次訪問

的Firefox在Mac OS X 2次探訪

的Firefox在Linux上1訪問

有很多瀏覽器和操作系統的組合,然後我想使用一個算法,它會很容易計算。數據從MYSQL數據庫中檢索。有誰知道一個好辦法嗎?

+0

你究竟在數據庫中存儲了什麼? 'Firefox Mac OS X'就是你正在存儲的東西? – codaddict 2010-09-22 08:44:52

回答

1
SELECT browser, os, COUNT(*) as c FROM table GROUP BY browser, os; 
+0

謝謝!它的工作原理:D – 2010-09-22 11:55:37

1

函數get_browser將返回一個相當大的數組,其中包含有關用戶的所有信息。

你應該把這個陣列中的一個數據庫,大概與每一條信息是get_browser()返回列:

$browser = get_browser() 
    print_r($browser); 

    foreach ($browser as $key => $information) { // You may want to use array_walk for this, wich is harder to read in a simple example. 
    $browser_clean[$key] = mysql_real_escape_string($information); //DO NOT FORGET TO SANITIZE, ppl can spoof the browserstrings and open up SQL injection holes! 
    } 
    //You probably want some slightly cleaner and better way to talk to the Database then boiling up some ugly SQL-string, though. 
    mysql_query('INSERT INTO browserstats (parent, platform, browser, ...restofyourfields) VALUES ('. $browser_clean['parent'] .','. $browser_clean['platform'] .','. $browser_clean['browser'] .'...restofthefields)') 

;