Jump to content

how would i write, if $a has 1or more of $b do something ?


ricky spires

Recommended Posts

What is datatype of $a and $b. If they are integer or double use

if($a >= 2*$b) { //2 or more of $b
//start moving
}

 

but if they are string you can use preg_match()

$reg = "/(".$b."){2,}/";
if(preg_match($reg, $a)) { //two or more
  //start moving
}

Link to comment
Share on other sites

im trying to say

 

if  $id has 1 or more $other_var with the same value as $id do something

 

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)

6  -  link4  -  2  (child)

7  -  link5  -  0  (just a link)

8  -  link6  -  0  (just a link)

 

so the above would be

 

if $id has 1 or more $parent_id with the same id do something.

 

i cant use

 

if $id == $parent_id for this. its no good because im trying to set a nested level

 

------------------------------------------------

 

this is the actual code with the problem...

 

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."

 

 

<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>';
?>

 

so im trying to say if a <li> has and sub links the <li> that the $parent_id is pointing to becomes a title

 

 

 

 

Link to comment
Share on other sites

hi all.

 

no worries.

 

i fixed it another way.. i add a column in the db called type..

 

so each item in the list could be set to title or link. that way the header for each nested levels could be set to "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 $nLinklvl == "Link" ? '<li><a href="">'.$lnkTexts->title.'</a></li>' : '<li><a href="" class="subexpandable">'.$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="">'.$subLink.'</a></li>';
			}}}
			echo'	
			</ul>
		</li>';	
	}}}
echo'</ul>';
}}}
echo'</div>';
?>

 

 

 

that did the trick.

not what i wanted really but it works :)

 

 

 

 

- title1

 

    - subTitle1

        - subLink1

    - link1

 

- title2

 

    - subTitle2

        - subLink2

    - link2

 

 

thanks

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.