Re: Do two lists in a while statement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Richard Kurth wrote:
On 4/21/07, Richard Kurth <richardkurth@xxxxxxxxxxxxxx> wrote:
On 4/21/07, Richard Kurth <richardkurth@xxxxxxxxxxxxxx> wrote:
How can I do something like this in the same while statement. This does not work while (list(,$possible) = each($possiblefields)
list(,$possibleview) = each($possiblefieldsdiscription)){
}

What about using && ?


while (list(,$possible) = each($possiblefields) &&
list(,$possibleview) = each($possiblefieldsdiscription)){
}


Doesn't && mean if both variables are TRUE.

Yes, isn't that what you wanted?
Normaly a while checks also if it was TRUE. now it checks if both are TRUE..
If you only require one of both to be TRUE, use || instead of &&.


I am trying to fill in the drop down box in the script below but it is not
working it is only giving me the $possibleview data but not the $possible data


  $fieldnumber = 0;
            while (list(,$field) = each($fields)){
                echo "    <TR>\n";
                echo "        <TD><SELECT NAME=fieldorder[]>\n";
                reset($possiblefields);
				 reset($possiblefieldsdiscription);
                $anyselected = '';
                while (list(,$possible) = each($possiblefields)&&
list(,$possibleview) = each($possiblefieldsdiscription)){
$selected = @(($fieldorder[$fieldnumber] == $possible) ?
'SELECTED' : '');
                    if ($fieldnumber >= count($fieldorder) &&
!$anyselected){
                        $selected = 'SELECTED';
                    }
                    echo "<OPTION value=\"$possible\"
$selected>$possibleview</OPTION>\n";
                }
                echo "        </SELECT></TD>\n";
                echo "        <TD>$field</TD>\n";
                echo "    </TR>\n";
                $fieldnumber++;
            }



Ok, not sure about where you are pulling/representing some of your data, but here is what I came up with in-place of your code.

foreach( $fields AS $field ){
	echo "    <TR>\n";
	echo "        <TD><SELECT NAME=fieldorder[]>\n";
	for( $i=0; $i<count($possiblefields); $i++ ) {
		$possible = (isset($possiblefields[$i]) ? $possiblefields[$i] : 'NOT_SET');
		$possibleview = (isset($possiblefieldsdiscription[$i]) ? $possiblefieldsdiscription[$i] : 'NOT_SET');

		if ( isset($fieldorder[$fieldnumber]) && $fieldorder[$fieldnumber] == $possible ) {
			$sel = 'selected="selected"';
		} else {
			$sel = '';
		}

		echo "<OPTION value=\"{$possible}\" {$sel}>{$possibleview}</OPTION>\n";
	}
	echo "        </SELECT></TD>\n";
	echo "        <TD>{$field}</TD>\n";
	echo "    </TR>\n";
}

Give it a try and let us know

Jim Lucas

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux