2013-09-24 67 views
0

我有3個表格和.serialize()的輸出字符串。分割.serialize()的輸出併爲每個分割零件創建插入語句

TABEL 1:

parameter (parameterid, parametername) 

表2:

parametervalue (parametervalueid, parameterid_fk, appid_fk, parametervalue) 

表3:

app (appid, ..., ...) 

.serialize()輸出:

4=Test&6=This is a test&9=19&15=Bla Bla Bla&appid=19746 

4 = parameterid, Test=parametervalue, appid=19746 

對於連載輸出的每一「部分」,我想打一個INSERT聲明,這將增加parameteridappidparametervalue到表parametervalue。我如何分割並動態添加它? 「分割」應該使用PHP完成。

回答

0

使用parse_str()

$str = '4=Test&6=This is a test&9=19&15=Bla Bla Bla&appid=19746'; 
$result = array(); 
parse_str($str, $result); 
print_r($result); 

輸出:

Array 
(
    [4] => Test 
    [6] => This is a test 
    [9] => 19 
    [15] => Bla Bla Bla 
    [appid] => 19746 
) 

而現在,做INSERT,就可以通過分裂數組循環:

foreach ($result as $part) { 
    // do the INSERT 
} 

Demo!

+0

非常感謝你Amal! – doonot

+0

@doonot:你非常歡迎! :) –

+0

這些ID是錯誤的。在你的答案中,他們是0-4,在這個例子中他們是正確的'parameterid's :) – doonot