2015-10-24 2 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

Смежные вопросы