Показать сообщение отдельно
  #1 (permalink)  
Старый 29.03.2012, 18:32
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Элемент <option> в PHP
<html><body>
<?php
function selectItems($items, $selected=0) {
$text = "";
	foreach($items as $k=>$v){
		if($k == $selected) $ch = " selected"; else $ch = "";
		$text .= "<option$ch value='$k'>$v</option>\n";
	}	
return $text;	
}

$names = array(
"Weaving" => "Hugo",
"Goddard" => "Paul",
"Taylor"  => "Robert",
);

if(isset($_REQUEST['surname'])){
$name = $names[$_REQUEST['surname']];
echo "Вы выбрали: {$_REQUEST['surname']} - {$name} ";
}
?>
<!-- Форма для выбора имени человека -->
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">
Выберите имя: 
	<select name="surname">
	<?=selectItems($names, $_REQUEST['surname'])?>
	</select><br>
<input type="submit" value="Узнать фамилию">
</form>
</body></html>


НЕ совсем понятна передача параметров функции. Не понятны вот эти 2 строки, как они работают
if($k == $selected) $ch = " selected"; else $ch = "";
		$text .= "<option$ch value='$k'>$v</option>\n";

И как происходит работа с вот этим элементом формы:
<select name="surname">
	<?=selectItems($names, $_REQUEST['surname'])?>
	</select><br>
Ответить с цитированием