我有一個訪問IP的MySQL數據庫,我試圖創建一個HTML表格,顯示有多少這些IP來自X國家。我可以通過腳本來顯示訪問者來自哪個國家,但我似乎無法找到一種方式將其分組顯示,而不是逐行顯示。PHP:計數重複和刪除重複行
例如,目前我得到:
Country | Visitors
------------------
US | Array
UK | Array
UK | Array
UK | Array
US | Array
MX | Array
MX | Array
我要的是:
Country | Visitors
------------------
US | 2 Visitors
UK | 3 Visitors
MX | 2 Visitors
我試過array_count_values
,但它仍然由行列出每一位旅客和分配一個值數組「到每一行。
IP位於數據庫中,腳本獲取IP,然後根據單獨文件中的數據爲IP分配國家代碼值。
這就是我用業餘技能劈頭的事。如果有更好的方法來實現這一點,建議歡迎!
require_once("geoip.inc");
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
include_once($_SERVER['DOCUMENT_ROOT'] . 'connect.php');
/* Performing SQL query */
$data = mysql_query("SELECT * FROM the_ips LIMIT 100")
or die(mysql_error());
echo "<table>";
echo "<td><strong>Country</strong></td><td><strong>Visitors</strong></td></tr>";
while($info = mysql_fetch_array($data))
{
$ip = $info['ip_address'];
$country_code = geoip_country_code_by_addr($gi, $ip);
$countrylist = array($country_code);
$frequency = array_count_values($countrylist);
echo "<tr><td style='width: 100px;'>".$country_code."</td><td style='width: 100px;'>".$frequency."</td></tr>";
}
echo "</table>";
geoip_close($gi);
爲什麼don'y按國家(如美國和MX是指國家),然後計算行土特產品嚐試組行? – mariosk89 2013-02-26 21:47:24
你不應該使用'echo'html-code「;',在這裏使用這個:<?> html代碼<?php',結束PHP標籤並在完成輸出html時再次啓動它們。使用'<?= $ variable?>'輸出單個變量 – Pacha 2013-02-26 21:47:30
是mariosk89,US,MX是國家代碼。我會嘗試的。感謝您的提示太Pacha。 – user1373779 2013-02-26 22:05:20