调用当前分类或当前分类的下级分类函数

2016-07-07 15:00 来源:www.chinab4c.com 作者:ecshop专家

  1. function get_categories_tree_xaphp($cat_id = 0)
  2. {
  3. if ($cat_id > 0)
  4. {
  5. $sql = 'SELECT parent_id FROM ' . $GLOBALS['ecs']->table('category') . " WHERE cat_id = '$cat_id'";
  6. $parent_id = $GLOBALS['db']->getOne($sql);
  7. }
  8. else
  9. {
  10. $parent_id = 0;
  11. }
  12. /*
  13. 判断当前分类中全是是否是底级分类,
  14. 如果是取出底级分类上级分类,
  15. 如果不是取当前分类及其下的子分类
  16. */
  17. $sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . " WHERE parent_id = '$cat_id' AND is_show = 1 ";
  18. if ($parent_id == 0||$GLOBALS['db']->getOne($sql))
  19. {
  20. /* 获取当前分类及其子分类 */
  21. $sql = 'SELECT cat_id,cat_name ,parent_id,is_show ' .
  22. 'FROM ' . $GLOBALS['ecs']->table('category') .
  23. "WHERE parent_id = '$cat_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";
  24. $res = $GLOBALS['db']->getAll($sql);
  25. foreach ($res AS $row)
  26. {
  27. if ($row['is_show'])
  28. {
  29. $cat_arr[$row['cat_id']]['id']= $row['cat_id'];
  30. $cat_arr[$row['cat_id']]['name'] = $row['cat_name'];
  31. $cat_arr[$row['cat_id']]['url']= build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);
  32. }
  33. }

  34. }
  35. else
  36. {


  37. /* 获取当前分类及其子分类 */
  38. $sql = 'SELECT cat_id,cat_name ,parent_id,is_show ' .
  39. 'FROM ' . $GLOBALS['ecs']->table('category') .
  40. "WHERE parent_id = '$parent_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";

  41. $res = $GLOBALS['db']->getAll($sql);

  42. foreach ($res AS $row)
  43. {
  44. if ($row['is_show'])
  45. {
  46. $cat_arr[$row['cat_id']]['id']= $row['cat_id'];
  47. $cat_arr[$row['cat_id']]['name'] = $row['cat_name'];
  48. $cat_arr[$row['cat_id']]['url']= build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);
  49. }
  50. }
  51. }
  52. if(isset($cat_arr))
  53. {
  54. return $cat_arr;
  55. }
  56. }
复制代码

回答:
沙发了哦呵呵这个功能以前请人开发过

谢谢楼主,我试了这段代码好久,自己又改了一些。。。
只能调用下级分类,如果下级分类还有分类,就调不出来了。。。
希望能指点一下!

多谢了!!

标题都还没读懂!