Page 1 of 1

Problems with a Dynamic if{} condition...

Posted: Sat Jan 10, 2004 4:05 am
by bluenote
Hello everyone,

perhaps i was just coding too long, but i just don't get the following solved.

Code: Select all

<?php

$nquery = "SELECT staff_groups.grp_s04, staff_groups.grp_s12 FROM staff_groups WHERE staff_groups.grp_s12 = 'g' GROUP BY staff_groups.grp_s04 ASC";

$nerg = MYSQL_QUERY($nquery);

$nnumrows = MYSQL_NUM_ROWS($nerg);

if ($nnumrows > '0') {
	
	if ($nnumrows=='1') {
		
		$n = 0;
		
		$text_navpath = "navpath_gruppen";
				
				$value_navpath = mysql_result($nerg,$n,"grp_s04");
				
				$subnavpath = "";
				
				${$text_navpath.$value_navpath} = $subnavpath;
		
		echo "if ($subnavpath === false)";}
		
		if ($nnumrows > '1') {
			
			$n = 0;
			
			while ($n < $nnumrows) {
				
				$text_navpath = "navpath_gruppen";
				
				$value_navpath = mysql_result($nerg,$n,"grp_s04");
				
				$subnavpath = "";
				
				${$text_navpath.$value_navpath} = $subnavpath;
				
				$loop_count = $nnumrows - 1;
				
				if ($n < $loop_count) {
					
					if ($n=='0') {
						
						echo "if (($subnavpath === false) && ";}
						
						else if ($n >= '1') {
							
							echo "($subnavpath === false) && ";}}
							
							else if ($n==$loop_count) {
								
								echo "($subnavpath === false)){";}
								
								$n++;}}}
								
								else {}
?>
With this code, i want(ed) to create a dynamic if{} condition in order not to rewrite the script everytime a new user group is opened or an existing one is deleted.

BUT :( instead of

Code: Select all

if ((navpath_gruppen_001 === false) &amp;&amp; (navpath_gruppen_002 === false) &amp;&amp; (navpath_gruppen_003 === false) &amp;&amp; (navpath_gruppen_004 === false) &amp;&amp; (navpath_gruppen_005 === false) &amp;&amp; (navpath_gruppen_006 === false) &amp;&amp; (navpath_gruppen_108 === false) &amp;&amp; (navpath_gruppen_109 === false) &amp;&amp; (navpath_gruppen_110 === false) &amp;&amp; (navpath_gruppen_304 === false) &amp;&amp; (navpath_gruppen_401 === false) &amp;&amp; (navpath_gruppen_402 === false) &amp;&amp; (navpath_gruppen_403 === false) &amp;&amp; (navpath_gruppen_501 === false) &amp;&amp; (navpath_gruppen_502 === false) &amp;&amp; (navpath_gruppen_503 === false)) &#123;
i get

Code: Select all

if (( === false) &amp;&amp; ( === false) and so on)) &#123;
What am I doing wrong? The echos are just for debugging; in "normal life", they would be replaced by $navpath =

Greez, bluenote

Posted: Sat Jan 10, 2004 6:29 am
by markl999
I'll avoid all the 'er...why are you doing this?' type questions and just point out ..

$subnavpath = "";
${$text_navpath.$value_navpath} = $subnavpath;

^^ you never actually give $subnavpath a (meaningful) value, it's always ""