Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2012, 18:26   #1
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию Элемент <option> в PHP

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 строки, как они работают
PHP код:
if($k == $selected$ch " selected"; else $ch "";
        
$text .= "<option$ch value='$k'>$v</option>\n"
И как происходит работа с вот этим элементом формы:
PHP код:
<select name="surname">
    <?=selectItems($names$_REQUEST['surname'])?>
    </select><br>
kilogram вне форума Ответить с цитированием
Старый 29.03.2012, 20:40   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,161
По умолчанию

это не php ... учи html
ADSoft вне форума Ответить с цитированием
Старый 29.03.2012, 21:25   #3
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Скажите ,вот когда мы написали "<select name="surname">"
это равносильно мы создали переменную $surname с которой можем делать что угодно? Ещё, немного не понятно, каким образом попадают в глобальный ассрциативный массив REQUEST значения surname(Фамилия) с массива $names? Если да, каким образом?
kilogram вне форума Ответить с цитированием
Старый 29.03.2012, 21:46   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Начните уже изучать РНР - не просто тыкаться в куски кода, а потом на форум с вопросами - а именно изучать.
Изучение РНР
Уроки РНР
PHP FAQ
Без знания и понимания основ программирования все ваши потуги - это пустая трата времени.
А разжевывать вам основы никто не станет - если вы не в состоянии их самостоятельно освоить, то это занятие явно не для вас.
Andkorol вне форума Ответить с цитированием
Старый 29.03.2012, 22:11   #5
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Я изучаю сейчас ПХП по Котову, там был такой пример но пояснения к нему не было толкового, поэтому я спросил здесь.
kilogram вне форума Ответить с цитированием
Старый 29.03.2012, 22:32   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
Я изучаю сейчас ПХП по Котову, там был такой пример но пояснения к нему не было толкового, поэтому я спросил здесь.
Вы здесь не впервые задаете подобные вопросы.
Если учебный материал не дает вам достаточного понимания предмета изучения - просто смените учебный материал, благо выбор есть весьма обширный.
Иначе толку не будет от такого "изучения".
Andkorol вне форума Ответить с цитированием
Старый 29.03.2012, 23:34   #7
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Да нет, в принципе все ясно в книге, но бывают примеры без комментариев, поэтому спросил.
Скажите, А в этой строке: <?=selectItems($names, $_REQUEST['surname'])?>

$names - это в первый параметр функции подставился сам массив name который описан выше? В массиве цикл форич он возвращает за первым разом в первый параметр $names попадает значение "Weaving", 2 раз - "Goddard", 3-ий раз - "Taylor" после отправки формы? Во второй параметр также после отправки формы из-за цикла формч, тоже 3 раза во второй параметр попадают значения ключей цикла форич?
kilogram вне форума Ответить с цитированием
Старый 30.03.2012, 00:02   #8
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

смущает эта строка:
Код:
        $text .= "<option$ch value='$k'>$v</option>\n";
должно быть раздельно...
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить элемент элемент одномерного массива? Паскаль Женька Good Помощь студентам 5 21.12.2011 00:07
Одномерный массив. Необходимо заменить последний положительный элемент на второй элемент массива кумитэ Паскаль, Turbo Pascal, PascalABC.NET 1 19.12.2011 16:44
скрыть option Mortimoro JavaScript, Ajax 4 27.08.2011 15:56
Массив 7х7 целого типа в каждом столбце поменять max элемент и элемент побочной диагонали Sheport Паскаль, Turbo Pascal, PascalABC.NET 1 20.06.2011 23:30
option и frame Peperovich HTML и CSS 1 24.11.2009 10:30