[PHP] selected einfacher machen

Megaman2044

Lt. Junior Grade
Registriert
Feb. 2005
Beiträge
365
Servus Jungs,

ich habe ein Problem bei einem select Feld, und bei der auswahl soll das als erstes stehen. Bisher habe ich es immer so gemacht:

PHP:
if($meta_language == "en") $language[0]="\"en\" selected"; else $language[0]="\"en\"";       
   if($meta_language == "de") $language[1]="\"de\" selected"; else $language[1]="\"de\"";
                     
    $meta_language_option="<option value=$language[0]>Englisch</option>
                           <option value=$language[1]>Deutsch</option>";
          
    if($meta_robots == "index,follow") $robots[0]="\"index,follow\" selected"; else $robots[0]="\"index,follow\"";
    if($meta_robots == "index,no follow") $robots[1]="\"index,no follow\" selected"; else $robots[1]="\"index,no follow\"";
    if($meta_robots == "no index,no follow") $robots[2]="\"no index,no follow\" selected"; else $robots[2]="\"no index,no follow\"";
    if($meta_robots == "no index,follow") $robots[3]="\"no index,follow\" selected"; else $robots[3]="\"no index,follow\"";
                                                                         
    $meta_robots_option="<option value=$robots[0]>index,follow</option>
												 <option value=$robots[1]>index,no follow</option>
										     <option value=$robots[2]>no index,no follow</option>
                         <option value=$robots[3]>no index,follow</option>";

geht das auch einfacher ?
 
AW: selected einfacher machen

Hallo,
was verstehst du unter einfacher genau? Bedeuted das für dich
  • weniger Qualcode
  • leichtere Wartbarkeit
  • oder irgend etwas anderes

Ich nehm jetzt mal an du willst den Quellcode dahin gehend ändern das er nicht die vielen Wiederholungen enthält, also quasi sowas wie das untere Beispiel
PHP:
<?php
function getHTMLSelectOptionList( $listOfValue, $listOfDescription, $valueToSelect = NULL )
{
	$upperBorder = count( $listOfValue );

	if ( $upperBorder != count( $listOfDescription ) )
	{
		throw new Exception();
	}

	$result = '<select>';
	for ( $i = 0; $i < $upperBorder; $i++ )
	{
		$result .= '<option value="' . $listOfValue[$i] . '"';

		if ( strcmp( $valueToSelect, $listOfValue[$i] ) == 0 )
		{
			$result .= ' selected ';
		}

		$result .= '>' . $listOfDescription[$i] . '</option>';
	}
	$result .= '</select>';

	return $result;
}

$languageShort = array( 'en', 'de' );
$languageLong  = array( 'Englisch', 'Deutsch' );

$robots = array( 'index,follow', 'index,no follow', 'no index,no follow', 'no index,follow' );

$meta_language_option = getHTMLSelectOptionList( $languageShort, $languageLong, $meta_language );
$meta_robots_option   = getHTMLSelectOptionList( $robots       , $robots      , $meta_robots   );
?>
 
Zurück
Oben