2010-09-22 81 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)') 

;