Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 79

Выпадающее меню даты

21.03.2013, 09:41. Показов 3253. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
доброго времени суток, форумчане!
имеется код
PHP
1
2
3
4
$month = array ("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
echo '<select name="month_ot">';
for ($i = 0; $i < count ($month); $i++)
        {echo '<option value="'.$month[$i].'">'.$month[$i];}
который не работает. нужно привести его к рабочему состоянию )

PS если возможно, то буду очень благодарен за код выпадающих меню для года, месяца, дня, часа и минуты, т.к. в данный момент все реализовано с ввода с клавиатуры
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
//поля ввода даты ОТ
echo    "от:".'<input placeholder="Год" type="text" size="2" name="year_ot" />
        <input placeholder="Мес" type="text" size="1" name="month_ot"/>
        <input placeholder="Чис" type="text" size="1" name="number_ot"/>
        <input placeholder="Час" type="text" size="1" name="hour_ot"/>
        <input placeholder="Мин" type="text" size="1" name="minute_ot"/>';
 
//поля ввода даты ДО
echo   "до:".'<input placeholder="Год" type="text" size="2" name="year_do" />
        <input placeholder="Мес" type="text" size="1" name="month_do"/>
        <input placeholder="Чис" type="text" size="1" name="number_do"/>
        <input placeholder="Час" type="text" size="1" name="hour_do"/>
        <input placeholder="Мин" type="text" size="1" name="minute_do"/>';
громоздкий и малочитабельный (
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2013, 09:41
Ответы с готовыми решениями:

Как выпадающее меню соединить с таблицей БД?
Уважаемые пользователи этого форума,подскажите пожалуйста как можно содержимое с таблицы БД вставить в выпадающее меню,вот скрипт что нужно...

Вывести каталог из базы в выпадающее меню с ul и li
В общем есть база с колонками id и name(44 строчек) и есть выпадающее меню такого типа: &lt;div class=&quot;dropdown&quot;...

Выпадающее меню
Здраствуй, помогите разобраться с выпадающим меню. Как создать выпадающее меню с сылками на другие страницы php. &lt;?php { ...

12
52 / 52 / 9
Регистрация: 09.10.2009
Сообщений: 984
21.03.2013, 10:32
Такое лучше делать на JS
0
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 79
21.03.2013, 12:54  [ТС]
SATMAN, мб, но у меня задача - реализовать все средствами php и html. да и JS я не знаю вообще

Добавлено через 2 часа 2 минуты
если кому нужно то вот рабочий код выпадающего меню
PHP
1
2
3
4
5
$host = mysql_query("select distinct(host) from logs");
echo    '<select name="host">';
echo    '<option value="all">Все';
while($rowhost = mysql_fetch_array($host)) {
echo    '<option value="'.$rowhost['host'].'">'.$rowhost['host']; }
запрос к БД по хосту и вывод в выпадающее меню, работает правильно
PS форма описана у меня в коде в самом начале
0
13 / 13 / 6
Регистрация: 01.11.2012
Сообщений: 155
21.03.2013, 13:43
вот для месяца:
PHP
1
2
3
4
5
6
<?php
$Months = array (01 => 'Січень', 02 =>'Лютий',03 => 'Березень',04 => 'Квітень',05 => 'Травень', 06 =>'Червень',07 => 'Липень',08 => 'Серпень',09 => 'Вересень',10 => 'Жовтень',11 => 'Листопад',12 => 'Грудень');
?>
<SELECT NAME="month" CLASS="field" STYLE="width=95;">
<?php foreach ($Months as $Id => $Month){ echo '<option value=' . $Id . '>' . $Month . '</option>'; } ?>
</SELECT>
вот для года

PHP
1
2
3
4
5
6
7
8
select name="year"> 
<?php
          for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) {
?>                
          <option value="<?php echo $i; ?>"><?php echo $i; ?> </option><?php
          }
?>                
              </select>
По аналогии сделаешь и для всего остального
1
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 79
22.03.2013, 12:50  [ТС]
zanner, код немножко переписал, Вы, видимо, его под html писали, я же под php переписал, получилось следующее:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
//выпадающее меню год
echo '<select name="year">';
for($i=date("Y"), $n=date("Y")-70; $i >= $n; $i--) {
    echo '<option value="'.$i.'">'.$i; }
    echo '</option></select>';
 
//выпадающее меню месяц
$Months = array (01 => 'Січень',
                 02 => 'Лютий',
                 03 => 'Березень',
                 04 => 'Квітень',
                 05 => 'Травень',
                 06 => 'Червень',
                 07 => 'Липень',
                 08 => 'Серпень',
                 09 => 'Вересень',
                 10 => 'Жовтень',
                 11 => 'Листопад',
                 12 => 'Грудень');
echo    '<select name="month">';
foreach ($Months as $key => $value) {
    echo    '<option value="'.$key.'">'.$value; }
    echo '</option></select>';
?>
при заходе на страничку не создаются эти формы, хотя 2 другие формы (абсолютно идентичные по синтаксису) работают на ура...
в логах ничего не пишется, вообще ничего
PS создавал в phpDesigner 8 - работают без каких либо отклонений

Добавлено через 10 минут
в общем вот код всего скрипта
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
//подключение к БД
$db = mysql_connect("localhost", "root", "123123");
 
//выбор таблицы
mysql_select_db("logs", $db);
 
//выпадающее меню хостов                                                                    работает
$host = mysql_query("select distinct(host) from logs");
echo    '<form action="sc.php" method="post">';
echo    '<select name="host">';
echo    '<option value="all">Все';
while($rowhost = mysql_fetch_array($host)) {
echo    '<option value="'.$rowhost['host'].'">'.$rowhost['host']; }
echo    '</option></select>';
 
//выпадающее меню год                                                                         не работает
echo '<select name="year">';
for($i=date("Y"), $n=date("Y")-70; $i >= $n; $i--) {
    echo '<option value="'.$i.'">'.$i; }
    echo '</option></select>';
 
//выпадающее меню месяц                                                                     не работает
$Months = array (01 => 'Січень',
                 02 => 'Лютий',
                 03 => 'Березень',
                 04 => 'Квітень',
                 05 => 'Травень',
                 06 => 'Червень',
                 07 => 'Липень',
                 08 => 'Серпень',
                 09 => 'Вересень',
                 10 => 'Жовтень',
                 11 => 'Листопад',
                 12 => 'Грудень');
echo    '<select name="month">';
foreach ($Months as $key => $value) {
    echo    '<option value="'.$key.'">'.$value; }
    echo '</option></select>';
 
//выпадающее меню уровня сообщения                                                    работает
$level = mysql_query("select distinct(level) from logs");
echo    '<select name="level">';
echo    '<option value="all">Все';
while($rowlevel = mysql_fetch_array($level)) {
echo    '<option value="'.$rowlevel['level'].'">'.$rowlevel['level']; }
echo    '<input type="submit" value="Отправить"></form>';
 
//таблица логов за последние 30 минут                                                       работает
$time = mysql_query("SELECT * FROM logs where `datetime` >= (now() - interval 30 minute)");
echo '<table border="1" cellpadding="2" CELLSPACING="0">
         <tr>
                        <td width=125px align=center>'."HOST".'         </td>
                        <td width=55px align=center>'."TYPE".'          </td>
                        <td width=150px align=center>'."DATE".'         </td>
                        <td width=850px align=center>'."MESSAGE".'      </td>
        </tr>';
while($row = mysql_fetch_array($time))  {
echo    '<tr>
                        <td width=125px>'.$row[1].'     </td>
                        <td width=55px>'.$row[4].'      </td>
                        <td width=150px>'.$row[6].'     </td>
                        <td width=850px>'.$row[8].'     </td>
        </tr>';
}
echo '</table>';
?>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.03.2013, 12:52
Цитата Сообщение от ironheaddd Посмотреть сообщение
zanner, код немножко переписал, Вы, видимо, его под html писали, я же под php переписал
как раз нормально он был написан))) не стоит смешивать php и html.
Цитата Сообщение от ironheaddd Посмотреть сообщение
при заходе на страничку не создаются эти формы
так вы их не так переписали)) У вас куча не закрытых <option> в итоге будет
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
//выпадающее меню год
?>
<select name="year">
  <?php for($i=date("Y"), $n=date("Y")-70; $i >= $n; $i--) : ?>
    <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  <?php endfor; ?>
</select>
 
<?php //выпадающее меню месяц
$Months = array (01 => 'Січень',
                 02 => 'Лютий',
                 03 => 'Березень',
                 04 => 'Квітень',
                 05 => 'Травень',
                 06 => 'Червень',
                 07 => 'Липень',
                 08 => 'Серпень',
                 09 => 'Вересень',
                 10 => 'Жовтень',
                 11 => 'Листопад',
                 12 => 'Грудень');
?>
<select name="month">
  <?php foreach ($Months as $key => $value) :
    <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
  <?php endforeach; ?>
</select>
1
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 79
22.03.2013, 13:31  [ТС]
оказалось у меня все намного проще. тот код, который я приводил абсолютно рабочий. проблема была в том, что я редактировал index от пользователя, а не от рута. зашел под рут, создал/скопировал/вставил - теперь все работает. осталось только дописать по дням и часам с минутами )
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.03.2013, 13:39
Цитата Сообщение от ironheaddd Посмотреть сообщение
тот код, который я приводил абсолютно рабочий
"абсолютно рабочий" он только благодаря браузеру.
PHP
1
2
3
4
5
header('Content-type: text/plain; charset=utf-8');
echo '<select name="year">';
for($i=date("Y"), $n=date("Y")-70; $i >= $n; $i--) {
    echo '<option value="'.$i.'">'.$i; }
    echo '</option></select>';
Результат:
HTML5
1
<select name="year"><option value="2013">2013<option value="2012">2012<option value="2011">2011<option value="2010">2010<option value="2009">2009<option value="2008">2008<option value="2007">2007<option value="2006">2006<option value="2005">2005<option value="2004">2004<option value="2003">2003<option value="2002">2002<option value="2001">2001<option value="2000">2000<option value="1999">1999<option value="1998">1998<option value="1997">1997<option value="1996">1996<option value="1995">1995<option value="1994">1994<option value="1993">1993<option value="1992">1992<option value="1991">1991<option value="1990">1990<option value="1989">1989<option value="1988">1988<option value="1987">1987<option value="1986">1986<option value="1985">1985<option value="1984">1984<option value="1983">1983<option value="1982">1982<option value="1981">1981<option value="1980">1980<option value="1979">1979<option value="1978">1978<option value="1977">1977<option value="1976">1976<option value="1975">1975<option value="1974">1974<option value="1973">1973<option value="1972">1972<option value="1971">1971<option value="1970">1970<option value="1969">1969<option value="1968">1968<option value="1967">1967<option value="1966">1966<option value="1965">1965<option value="1964">1964<option value="1963">1963<option value="1962">1962<option value="1961">1961<option value="1960">1960<option value="1959">1959<option value="1958">1958<option value="1957">1957<option value="1956">1956<option value="1955">1955<option value="1954">1954<option value="1953">1953<option value="1952">1952<option value="1951">1951<option value="1950">1950<option value="1949">1949<option value="1948">1948<option value="1947">1947<option value="1946">1946<option value="1945">1945<option value="1944">1944<option value="1943">1943</option></select>
Как видите, везде, кроме последнего <option> отсутствует закрывающий </option>. Поэтому код выше - неправильный, а работает лишь благодаря браузеру, который исправляет и добавляет теги.
0
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 79
22.03.2013, 14:21  [ТС]
KOPOJI, ну это да, я уже исправил этот недочет )
0
22.03.2013, 16:35

Не по теме:

Цитата Сообщение от ironheaddd Посмотреть сообщение
PHP
15
16
17
18
19
06 => 'Червень',
07 => 'Липень',
08 => 'Серпень',
09 => 'Вересень',
10 => 'Жовтень',
Восмиричные числа?
PHP
1
2
3
4
5
6
var_dump(06, 07, 08, 09, 0298);
// int(6)
// int(7)
// int(0)
// int(0)
// int(2)
http://www.php.net/manual/ru/l... example-69

0
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 79
25.03.2013, 06:19  [ТС]
Vovan-VE, я с php только знакомлюсь, еще много чего не знаю ) поэтому поподробнее, пожалуйста )
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
25.03.2013, 09:21
либо пишите ключи в строковом виде '06', '07' и т.д., либо первый ноль уберите
0
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 79
25.03.2013, 09:35  [ТС]
нули убрал )
теперь появился еще один вопросик.
как в этом меню поставить дефолтное значение? ну т.е. чтобы были пункты, которые можно выбрать, и 1 пункт (год, месяц - указатель, что выбирать) неактивный? и чтобы если ничего не выбрали то $_POST ничего не принимал в скрипте?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.03.2013, 09:35
Помогаю со студенческими работами здесь

бесконечно выпадающее меню
Кто то находил когда то бесконечно выпадающее меню, горизонтальное или вертикально ? Примерно так, все вкладки меню в базе и...

Выпадающее меню - разный размер шрифта для разных уровней меню
Есть у меня данный список, но возник вопрос: &quot;как сделать чтобы в надписи буквы1 был шрифт 19px, а в выпадающем меню был шрифт 16px&quot; ...

Выпадающее меню. Не фиксируется бордер раздела меню, при использовании подменю
Делаю выпадающее меню, почти все сделал, осталось по сути немного, и не могу закончить. Вот код: ...

Как прикрепить выпадающее меню к названию в основном меню
Здравствуйте. Сейчас на сайте есть вертикальное меню, и при наведении на какой-либо его пункт, выпадающее меню появляется в самом верху...

Выпадающее меню
Доброе время суток! Подскажите Есть пользовательская форма в нём есть выпадающее меню, при выборе в меню определённого значения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru