2011-01-16 2 views
0

직렬화 된 요소의 순서/정렬을 제공하는 중첩 된 jQuery 플러그인을 사용하고 있습니다. 결과를 분해하여 PHP에서 데이터베이스에 중첩 트리를 추가하고 순서를 바꿉니다.

그리고이 serialitzation의 예 (루트 의미 PARENT_ID = 0) : 나는 &에 의해 폭발한다 할 것이다

id[1]=root&id[5]=1&id[2]=1&id[3]=1&id[4]=3 

우선 :

$serialized = "id[1]=root&id[5]=1&id[2]=1&id[3]=1&id[4]=3"; 

$exploded = explode("&", $serialized); 

그러나 나는 그 방법을 모른다 id[1]=root 또는 id[3]=1을 관리합니다. 내가 어떻게 할 수 있니?

그리고 또 다른 질문입니다. 이 방법으로 나는 그 주문을 저장하는 방법을 모른다. 배열로 폭발했을 때 array("id"=>1, "parent"=>"root");과 같이 주문을 저장했습니다. 색인으로 처리 하겠지만 중첩 된 수준을 어떻게 인식합니까?

예 :

$i = 0; 

foreach($exploded as $explode) 
{ 
    //update every id in MySQL and set parent=$explode["parent"] and order=$i 
    $i++; 
} 

하지만 N 수준을 한 경우, 내가 그들 모두를위한 $ 인덱스 내가 어떻게 할 수 있습니까?

미리 감사드립니다.

답변

1

오히려 폭발하는 것보다, 당신은 당신이 배열로 작업 할 수 있습니다 거기에서 parse_str()

<?php 
parse_str("id[1]=root&id[5]=1&id[2]=1&id[3]=1&id[4]=3",$result); 
print_r($result); 
?> 

을 시도 할 수 있습니다.

관련 문제