PHP post獲取頁面傳過來的數組json存到數據庫然後在取出來反轉顯示到頁面

把表單的數據成對存到數組的鍵和值中,然後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}--> 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章