PHP JSON dizeye MySQL hiyerarşi veri

2 Cevap php

Şöyle bir MYSQL DB veri var:

id,parentid,name,count
1,0,top,10
2,1,middle1,5
3,1,middle2,5
4,3,bottom1,3
5,3,bottom2,2

ve 'top' orta sitesini vb bir koleksiyona sahiptir heirarchical JSON dize olarak PHP ile çıkışa bunu istiyorum

Benim drift olsun? Herkes yardım etmek için bir özyinelemeli PHP işlevi var?

2 Cevap

Eğer bir PHP dizi / ilişkisel dizi veri var ise, o zaman PHP 5.2 'ın JSON fonksiyonları kullanabilirsiniz:

http://www.php.net/manual/en/function.json-encode.php

yorum alanına bu sayfayı okumaya devam, onlar hemen kendinizi sergiyi eğlence olmadan kodunu vermek.

Sen http://tagarga.com/blok/on/061029 daha sonra json_encode (), iç içe geçmiş bir dizi için komşuluk listesini dönüştürmek burada işlevini kullanabilirsiniz.

	function adj_tree(&$tree, $item) {
		$i = $item['id'];
		$p = $item['parentid'];
		$tree[$i] = isset($tree[$i]) ? $item + $tree[$i] : $item;
		$tree[$p]['_children'][] = &$tree[$i];
	}

	$tree = array();
	$rs = my_query("SELECT * FROM categories");
	while($row = my_fetch($rs))
		adj_tree($tree, $row);

	echo json_encode($tree[0]);