您的位置:首页 > 编程语言 > PHP开发

PHP post获取页面传过来的数组json存到数据库然后在取出来反转显示到页面

2016-05-23 18:36 716 查看
把表单的数据成对存到数组的键和值中,然后json化存到数据库在取出来反转显示到页面中,保持键和值对

HTML form表单

<form method="post" action="test.php"> 

 <input name="key[]" id="name" value="0">  键

<input name="key[]" id="name" value="0">  值

 <input name="key[]" id="name" value="1">  键

 <input name="val[]" id="name" value="2">  值

</form>


PHP后台 test.php

<?php 

$arr_key = $_POST['key'];

$arr_val = $_POST['val'];

$keyval=@array_combine($arr_key,$arr_val); //把两个数组合拼成一个数组的键和值

$Fadd_fields =json_encode($keyval,JSON_UNESCAPED_UNICODE);  //转成json格式

//把josn反转成对应数组的键和值

function std_class_object_to_array($stdclassobject){
$_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject;
foreach ($_array as $key => $value) {
$value = (is_array($value) || is_object($value)) ? std_class_object_to_array($value) : $value;
$array[$key] = $value;
}
    	return $array;
}

$object_key = json_decode($know['Fadd_fields']);
$arr_key1 = std_class_object_to_array($object_key);

?>

 

页面再用foreach循环显示出来在页面

<!--{foreach from=$arr_key1 item=val key=key name=liname}-->
<tr class="">
<td>添加键<input type="text" name="data[key][<!--{$smarty.foreach.liname.iteration-1}-->]" value="<!--{$key}-->">
添加值<input type="text" name="data[val][<!--{$smarty.foreach.liname.iteration-1}-->]" value="<!--{$val}-->"></td>
<td><button type="button" name="del" class="btn btn-default">删除</button>
<input type="button" value="<!--{$smarty.foreach.liname.total}-->" id="max" style="display:none;" /></td>
</tr>
<!--{/foreach}--> 


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json 表单 PSOT数组