[英]Get array from string in pattern - key1:val1,val2,..;key2:val1,
[英]Getting JSON keys/values, and updating SQL table at columns (key1, key2, …) with values (val1, val2, …)
我将带有此数据的JSON数组发送到服务器:
[{"name":"Dinner","value":"3"},
{"name":"Happy_Hour","value":"3"},
{"name":"client_id","value":"55"}]
使用AJAX:
$.ajax({
async: false,
url: 'http://****',
data: MyJsonArray,
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'submitCallback',
success: function(){
alert("success");
},
error: function(xhr, status, errorThrown){
alert("submit interests error" + status);
},
complete: function(){
}
}); //ajax
然后,我想使用PHP为列名称(“ Dinner”和“ Happy_Hour”)的表更新每个名称的值。 通常,我将使用$_GET['Happy_Hour']
和UPDATE table_name SET Happy_Hour=?, etc_etc=? WHERE id=?
UPDATE table_name SET Happy_Hour=?, etc_etc=? WHERE id=?
,但现在我应该以某种方式遍历数组以获取键/值。 如何从必须使用$_GET['hardcoded_name']
过渡到获取这些键/值的数组?
编辑
我引用的JSON对象实际上是一个数组,因此我对其进行了更改(顶部)。 我通过调用MyHTMLForm.serializeArray();
获得它MyHTMLForm.serializeArray();
如果您不想使用硬编码的索引,则可以将其放入另一个父对象中:
$.ajax({
data: {data: MyJsonObject},
// ... others
});
然后在PHP脚本上,调用该父所有者:
<?php
if(isset($_GET['data'])) {
$data = $_GET['data'];
foreach($data as $val) {
$val['name'] // the particular key Dinner, ,Happy_Hour
$val['value'] // the corresponding value 3, 3, 55
// rest of insert code
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.