ricky spires Posted March 13, 2012 Share Posted March 13, 2012 how do i find out if a parent has any children? for example id - name - parent_id 1 - title1 - 0 (parent) 2 - title2 - 0 (parent) 3 - link1 - 1 (child) 4 - link2 - 1 (child) 5 - link3 - 2 (child) 5 - link4 - 2 (child) the above has 2 parent with 2 links each. so.. if an id has no "parent_id" pointing to it must be a child if an id has "parent_id" pointing to it must be a parent i have a list <ul> <li><a href="">'.$link.'</a></li> <li><a href="" class="subTitle">'.$title.'</a> <ul class="subLink"> <li><a href="">'.$link.'</a></li> </ul> </li> </ul> so i want to do something like if id has no "parent_id" pointing to it, it is a $link if id has "parent_id" pointing to it, it is a $title any thoughts thanks Link to comment https://forums.phpfreaks.com/topic/258859-how-do-i-find-out-if-a-parent-has-any-children/ Share on other sites More sharing options...
l0gic Posted March 14, 2012 Share Posted March 14, 2012 If all 'parents' have the a parent_id of 0 then it's quite an easy.. if(parent_id == 0) { // Parent }else { // Title } Link to comment https://forums.phpfreaks.com/topic/258859-how-do-i-find-out-if-a-parent-has-any-children/#findComment-1327068 Share on other sites More sharing options...
ricky spires Posted March 14, 2012 Author Share Posted March 14, 2012 ok. but say i have nested levels in the part that says ***THIS IS WHERE IS WANT THE CODE*** i want it to do some thing like .... if there are children pointing to an id make it a title of a nested level (class="subTitle) else its just a link in the list <div> $header = Text::find_by_parentID(0); foreach ($header as $headers){ $Hid = $headers->id; $Hname = $headers->name; $Hparent = $headers->parent; echo $Hparent == 0 ? '<h3 class="header">'.$Hname.'</h3>' : ''; echo' <ul class="nav">'; //FIND NESTED TITLES / LINKS $headText = Text::find_by_child($Hid); foreach ($headText as $headTexts){ $Cid = $headTexts->id; $Cname = $headTexts->name; $Cparent = $headTexts->parent; echo ***THIS IS WHERE IS WANT THE CODE*** ? '<li><a href="">'.Cname.'</a></li>' : '<li><a href="" class="subTitle">'.Cname.'</a>'; echo' <ul class="subLevel" style="margin-left: 15px">'; //FIND SUBLINK $sub = Text::find_by_child($Cid); foreach ($subs $subs){ $name = $subs->name; echo'<li><a href="">'.$name.'</a></li>'; } echo' </ul> </li>'; } echo'</ul>'; } echo'</div>'; ?> Link to comment https://forums.phpfreaks.com/topic/258859-how-do-i-find-out-if-a-parent-has-any-children/#findComment-1327470 Share on other sites More sharing options...
ricky spires Posted March 15, 2012 Author Share Posted March 15, 2012 can anyone help with this please. ? all i what to do is find some code that says... if ID has ant CHILDREN do 1thing if not do another thing.. for example: $id - $name - $parent_id 1 - title1 - 0 (parent) 2 - title2 - 0 (parent) 3 - link1 - 1 (child) 4 - link2 - 1 (child) 5 - link3 - 2 (child) 5 - link4 - 2 (child) if $id HAS ANY $parent_id with the same number echo <li class="PARENT">'.$name'.</li> else echo <li class="CHILD">'.$name'.</li> any ideas..... this is the actual code .. the part that says "****THIS IS WHERE IM STUCK***" is where i need to put some code that says "if $id HAS ANY $parent_id with the same number make the li a title." <?PHP require_once("includes/initialize.php"); ?> <?PHP echo' <div class="arrowlistmenu">'; $nav = PhLists::navOrder($PHLlno, $PHLorb, $PHLord); //FIND HEADER $navHead = PhLists::find_by_parentID(0); foreach($navHead as $navHeads){ $headID = $navHeads->id; $headLnk = $navHeads->pageLink_id; $PCBhead = PCbridge::find_NavText($headLnk, $langID); foreach ($PCBhead as $PCBheads){ $headText = $PCBheads->pageContent_id; $headText = PageContent::find_text($headText); foreach ($headText as $headTexts){ $header = $headTexts->title; echo $navPnt == 0 ? '<h3 class="menuheader expandable">'.$header.'</h3>' : ''; echo' <ul class="categoryitems">'; //FIND LINK & TITLES $navLink = PhLists::find_by_child($headID); foreach($navLink as $navLinks){ $nLid = $navLinks->id; $nLink = $navLinks->pageLink_id; $nLinkPnt = $navLinks->parent_id; $nLinklvl = $navLinks->level; $PCBlink = PCbridge::find_NavText($nLink, $langID); foreach ($PCBlink as $PCBlinks){ $linkText = $PCBlinks->pageContent_id; $lnkText = PageContent::find_text($linkText); foreach ($lnkText as $lnkTexts){ echo ****THIS IS WHERE IM STUCK**** ? '<li><a href="">THIS IS A LINK='.$lnkTexts->title.'</a></li>' : '<li><a href="" class="subexpandable">THIS IS A TITLE='.$lnkTexts->title.'</a>'; echo' <ul class="subcategoryitems" style="margin-left: 15px">'; //FIND SUBNAV SUBLINK $subNav = PhLists::find_by_child($nLid); foreach($subNav as $subNavs){ $sLinkID = $subNavs->pageLink_id; $sLinkPnt = $subNavs->parent_id; $sLinklvl = $navLinks->level; $PCBsubLink = PCbridge::find_NavText($sLinkID, $langID); foreach ($PCBsubLink as $PCBsubLinks){ $subLinkText = $PCBsubLinks->pageContent_id; $subLnkText = PageContent::find_text($subLinkText); foreach ($subLnkText as $subLnkTexts){ $subLink = $subLnkTexts->title; echo' <li><a href="">THIS IS A SUBLINK='.$subLink.'</a></li>'; }}} echo' </ul> </li>'; }}} echo'</ul>'; }}} echo'</div>'; ?> Link to comment https://forums.phpfreaks.com/topic/258859-how-do-i-find-out-if-a-parent-has-any-children/#findComment-1327891 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.