2015-10-24 90 views
-1

我有以下的PHP數組:添加嵌套的PHP數組到mysql

Array 
(
[0] => Array 
    (
     [name] => page_1 
     [clicks] => 3 
     [time] => 14250 
    ) 

[1] => Array 
    (
     [name] => page_2 
     [clicks] => 1 
     [time] => 123 
    ) 

[2] => Array 
    (
     [name] => page_3 

    ) 

[3] => Array 
    (
     [name] => page_4 
     [clicks] => 2 
     [time] => 1450 
    ) 

和下表所示:

tbl_usage 
-------- 
page_1 
page_2 
page_3 
page_4 

什麼是添加了「點擊的最好方式'和'時間'從陣列到適當的頁面列 - 所以表如下所示:

page_1   page_2  page_3   page_4 
--------  -------  ---------  ---------- 
3:14250   1:123  0:0    2:1450 
+0

那麼,你的表應該有三列(名稱,點擊和時間),你將每個條目(「數組」)作爲一行保存在那裏。這不明顯嗎? – arkascha

+0

請解釋您的選票,以便我可以更好地使用本網站。謝謝。 – batman

回答

0
$data = array(...); // your data array; 
$values = array(); 
foreach ($data $v) 
{ 
    $clicks = (int)$v['clicks']; 
    $time = (int)$v['time']; 
    $values[$v['name']] = ($clicks > 0 ? $clicks : 0) . ':' . ($time > 0 ? $time : 0); 
} 

$sql = "INSERT INTO `tbl_usage` (`" . implode("`, `", array_keys($values)) . "`) VALUES ('" . implode("', '", $values) . "')"; 

但我認爲你需要重新思考表的結構。

+0

偉大的答案,完美的作品。你對桌子的結構意味着什麼?什麼是更好的方法? – batman

+0

頁面統計應該是每行。 – Neodan