Eenvoudig codestuk om een mysql-tabel te maken en waarden van elke JSON-variabele in te voegen. Dit is een snelle hack.. controleer veldtypes enz. :) Er zijn waarschijnlijk betere manieren, maar deze werkt en heeft me al uren bespaard bij het handmatig benoemen van velden
Dit kan worden gewijzigd om ook een relatietabel te maken die objecten verwerkt. Nu is het gemaakt voor array-gevormde JSON-dingen en niet voor objecten, dwz arrays in arrays.
<?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;
}
?>