에 의해 구조적 배열을 만들기 나는 테이블을 가지고 내가 재귀 적으로 아래 그림과 같이 표시 할재귀 함수
나는 PHP에서 재귀 함수를 사용하고
function reccall($cat_id)
{
global $no,$recArray;
$sql = "SELECT a.*
FROM cat_master
WHERE
parent_id = $cat_id
ORDER BY
id ASC
";
$result = mysql_query($sql) or die("Could not fetech Recursively");
while($row = mysql_fetch_object($result))
{
$recArray[$no]['value'] = mysql_real_escape_string($row->value);
$recArray[$no]['id'] = $row->id;
++$no;
reccall($row->id);
}
return $recArray;
}
하지만 순서가 그림이 아닌 것처럼 구조화 된 배열을 생성 할 수 없습니다. 간단한 배열이 항상 생성됩니다. 누구나 위에 표시된 순서와 같은 구조화 된 배열을 만드는 데 도움이 될 수 있습니다.
당신 수도 좋아 [MySQL은 관리 계층 데이터 (http://mikehillyer.com/articles/managing-hierarchical- data-in-mysql /) Mike Hillyer – Treffynnon
대신 [Closure Tables] (http://karwin.blogspot.com/2010/03/rendering-trees-with-closure-tables.html)를 사용해야합니다. 또는 적어도 : [SQL Antipatterns] (http://pragprog.com/book/bksqla/sql-antipatterns) 책을 읽으십시오. –
또한 고대의 mysql_ * 함수를 사용하여 새로운 코드를 작성하는 것을 중단하십시오. 더 이상 유지 관리되지 않으며 커뮤니티에서 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 결정할 수없는 경우 [이 기사] (http://goo.gl/3gqF9)를 선택하면 도움이됩니다. 당신이 배우고 싶다면 [여기 PDO 관련 튜토리얼] (http://goo.gl/vFWnC)을 참조하십시오. –