想擺脫深度 - 1字段,只顯示名稱和它的值。foreach循環的幫助
功能文件
<?php
public function getLocalSubNodes($node_name){
$stmt = conn::getInstance()->prepare(" SELECT node.name, (COUNT(parent.name) - (sub_tree.depth + 1)) AS depth FROM categories AS node, categories AS parent, categories AS sub_parent,
(
SELECT node.name, (COUNT(parent.name) - 1) AS depth
FROM categories AS node,
categories AS parent
WHERE node.left_node BETWEEN parent.left_node AND parent.right_node
AND node.name = :node_name
GROUP BY node.name
ORDER BY node.left_node
)AS sub_tree
WHERE node.left_node BETWEEN parent.left_node AND parent.right_node
AND node.left_node BETWEEN sub_parent.left_node AND sub_parent.right_node
AND sub_parent.name = sub_tree.name
GROUP BY node.name
HAVING depth <= 1
ORDER BY node.left_node");
$stmt->bindParam(':node_name', $node_name, PDO::PARAM_STR);
$stmt->execute();
return $stmt->fetchALL(PDO::FETCH_ASSOC);
}
?>
I instantiate the class calling the getLocalSubNodes functions
<?php
$hierachy = new hierachy;
$iterator = new RecursiveIteratorIterator(new recursiveArrayIterator($hierachy->getLocalSubNodes($name1)));
try {
foreach($iterator as $key=>$value)
{
echo $key.' -- '.$value.'<br />';
}
}
catch(Exception $e)
{
echo $e->getMessage();
} ?>
導致
名字 - mp3播放器
深度 - 1個
名字 - CD播放器
深度 - 1個
名字 - 2對講機
深度 - 1
我只希望
名字 - mp3播放器
名稱 - cd播放器
名稱 - 雙向收音機
想擺脫深度。
在數據庫中我沒有深度這樣的字段,它似乎在上面的查詢中生成,我需要查詢來計算深度,但我不想打印深度和它的值,唐不需要打印或回顯深度和價值。
所以我認爲它可能是每個循環。
不知道這是否是這裏的問題。
謝謝。
**請**格式的代碼正確。這不是一個論壇,所以'[code]'標籤什麼都不做。請點擊小代碼和報價按鈕。 – Blender 2011-04-22 22:34:20
請正確縮進並標記你的代碼,它完全不可讀。 – Maverick 2011-04-22 22:34:29