Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 17.08.2019, 14:41   #1
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
Репутация: 10
По умолчанию цикл для выпадающего списка

Добрый день

подскажите пожалуйста куда поместить цикл for в функции, чтобы переменная $a менялась и в выпадающем списке было от 1-31.
Если вставлять после select то цикл становится не активным

<?php


function select($name, $arr)
{

for ($a=1;$a<=31;$a++)
{
return
'<Select name="test">

<option> '.$a.' </option>
</select>';
}


}


?>

<form action = "" method="POST">
<?php echo select($name, $arr)?>
<input type ="submit">


</form>
j238267431 вне форума   Ответить с цитированием
Старый 17.08.2019, 14:47   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,681
Репутация: 2631
По умолчанию

Для начала вам надо цикл правильно написать и возвращать ОДИН СЕЛЕКТ и 32 ЩПШИОНА, а не одну строчку как сейчас.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 17.08.2019, 15:13   #3
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
Репутация: 10
По умолчанию

если поставить после селекта, то цикл неактивный становится Как его сделать активным / раскоментить?
Код:
<?php


function select($name, $arr)
{


	return
	'<Select name="test">

		for ($a=1;$a<=31;$a++)
		{
		<option> '.$a.' </option>
		}
	</select>';
	
}


?>

<form action = "" method="POST">
<?php echo select($name, $arr)?>
<input type ="submit">


</form>
_____
Код программы нужно выделять (форматировать) тегами [CODE] [/CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 17.08.2019 в 18:38.
j238267431 вне форума   Ответить с цитированием
Старый 17.08.2019, 18:41   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,841
Репутация: 5617
По умолчанию

во-первых, для чего Вы передаёте в функцию select $name и $arr, если Вы их не используете?


во-вторых,
Цитата:
Сообщение от j238267431 Посмотреть сообщение
если поставить после селекта, то цикл неактивный становится
конечно, Вы же его в строчку засунули. поэтому получилась строчка, а не код.

попробуйте так:
Код:
function select($name, $arr)
{
  $s='<Select name="test">';
	

  for ($a=1;$a<=31;$a++)
  {
   $s .= '<option> '.$a.' </option>';
  }
  return $s . '</select>';
	
}
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 17.08.2019, 19:07   #5
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
Репутация: 10
По умолчанию

все понятно! Спасибо большое!
j238267431 вне форума   Ответить с цитированием
Старый 18.08.2019, 11:38   #6
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
Репутация: 10
По умолчанию

Помогите еще пожалуйста
Не могу вывести запросы на экран
Вставлял в код везде
Код:
var_dump($_REQUEST)
но что то все без толку не выдает запрос а нужно чтобы выдал выбранные день месяц год и вывел на экран

Код:
<?php


function select($name, $arr,$q,$u)
{
	if ($u!=30)
	{
		$s='<Select name="test">';

		for ($a=$u;$a<=$q;$a++)
		{
			$s.= '<option value='.$_REQUEST['name'].'> '.$a.' </option>';
		}
		
		return $s . '</select>';
		
	}

	if ($u==30)
	{
		$s='<Select name="test">';
		foreach ($arr as $k)
		{
			$s.='<option>'.$k.'</option>';
		}		
		return $s. '</select>';
	}
	
}


$arr = [Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec];


?>

<form action = "" method="POST">
<?php
 echo select($name, $arr,'31','1');
 echo select($name, $arr,'40','30');
 echo select($name, $arr,date('Y'),'1900');

?>
<input type ="submit">
</form>
j238267431 вне форума   Ответить с цитированием
Старый 18.08.2019, 18:31   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,841
Репутация: 5617
По умолчанию

Цитата:
Сообщение от j238267431 Посмотреть сообщение
но что то все без толку не выдает запрос а нужно чтобы выдал выбранные день месяц год и вывел на экран
что то мне подсказывает, что Вы не понимаете, как и где работает PHP и где и когда работает HTML форма (и когда идёт запрос к самому скрипту, где будет уже заполнен $_REQUEST).
почитайте Самые основы. Как работает PHP.

потому ещё раз задавайте свой вопрос о том, что Вы делаете и что хотите получить в результате.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 18.08.2019, 20:13   #8
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
Репутация: 10
По умолчанию

Да, пока не очень все понятно - пытаюсь самостоятельно изучить php. Теория лучше понимается на практике.
Я хочу вывести 3 селекта, в которых можно выбирать день месяц и год. Затем записать выбранные значения в переменную или вывести на экран с помощью функци. Без функции понятно как - уже сделал, а вот в функции пока не ясно
j238267431 вне форума   Ответить с цитированием
Старый 18.08.2019, 22:42   #9
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
Репутация: 10
По умолчанию

а я понял мне нужно было разные имена давать селектам, а у меня было только одно на всех поэтому появлялся только последний сформированный.
j238267431 вне форума   Ответить с цитированием
Старый 18.08.2019, 22:45   #10
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,841
Репутация: 5617
По умолчанию

вы статью про основы PHP прочитали?
стало понятней?

если кратко - ваш локальный браузер обращается к серверу, если там скрипт на PHP, то его выполняет сервер, результатом выполнения является HTML код, который отдаётся браузеру на локальный компьютер. PHP скрипт на сервере полностью заканчивает работу. Полученный HTML код браузер отображает, выполняет JS код, если он там есть, применяет стили и прочее.
Если нужно, то браузер опять может обратиться к серверу (новый запрос), сервер опять запустит PHP код и результат вернёт в браузер.
Одновременно PHP и JS не работают.

Поэтому. Выполняется ваш скрипт, передаёт форму в браузер.
Вы в браузере что-то заполняете в форме, выполняете операцию Submit, при этом данные формы передаются на сервер в указанный в action обработчик, т.е. на сервере запускается скрипт, обрабатывает форму и возвращает новую HTML страницу.

Так понятней?

Цитата:
Сообщение от j238267431 Посмотреть сообщение
а я понял мне нужно было разные имена давать селектам,
Да, имена должны быть разными.
Serge_Bliznykov на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Настройка выпадающего списка Saine HTML и CSS 0 24.01.2017 00:24
Запрос для выпадающего списка Antony41 БД в Delphi 23 01.12.2015 22:42
Настройка выпадающего списка BenderMTB Microsoft Office Excel 1 10.11.2012 10:17
Стили выпадающего списка maxim339 HTML и CSS 1 05.01.2012 14:43
обработка выпадающего списка Небесный PHP 3 12.08.2011 14:31


00:49.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.