mysqlテーブルを作成し、任意のJSON変数から値を挿入するための単純なコードピース。これは高速なハックです。フィールドタイプなどを確認してください:)おそらくもっと良い方法がありますが、これはうまくいき、手動のフィールド命名ですでに時間を節約できました
これを変更して、オブジェクトを処理するリレーションテーブルも作成できます。今では、オブジェクトではなく、配列で形成されたJSONのもの、つまり配列内の配列用に作成されています。
<?php
JSON_to_table($place_your_JSON_var_here_please);
function JSON_to_table($j_obj, $tblName = "New_JSON_table_" . time()){
$j_obj = json_decode($your_JSON_variable, true);
if(!mysql_num_rows( mysql_query("SHOW TABLES LIKE '" . $tblName . "'"))){
$cq = "CREATE TABLE ". $tblName ." (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,";
foreach($j_obj as $j_arr_key => $value){
$cq .= $j_arr_key . " VARCHAR(256),";
}
$cq = substr_replace($cq,"",-1);
$cq .= ")";
mysql_query($cq) or die(mysql_error());
}
$qi = "INSERT INTO $tblName (";
reset($j_obj);
foreach($j_obj as $j_arr_key => $value){
$qi .= $j_arr_key . ",";
}
$qi = substr_replace($qi,"",-1);
$qi .= ") VALUES (";
reset($j_obj);
foreach($j_obj as $j_arr_key => $value){
$qi .= "'" . mysql_real_escape_string($value) . "',";
}
$qi = substr_replace($qi,"",-1);
$qi .= ")";
$result = mysql_query($qi) or die(mysql_error());
return true;
}
?>