|
|
|
|
|
для: cheops
(28.04.2011 в 09:18)
| | Спасибо cheops!!!
Всё получилось!
<SELECT NAME="year">
<?php
for($i=1960;$i<=date("Y");$i++){
if($i == $date_array[0]){echo '<OPTION VALUE="'.$i.'" selected>'.$i;}else
{echo '<OPTION VALUE="'.$i.'" >'.$i;}
}
?>
</SELECT>
|
| |
|
|
|
|
|
|
|
для: Hemp
(28.04.2011 в 08:57)
| | Хм... лучше вместо проверки $j==0 подставить проверку вида $i == $date_array[0], а вместо атрибута cheked, использовать атрибут selected (тогда будет выбираться нужная дата). | |
|
|
|
|
|
|
| Есть форма для ввода, которая позволяет в том числе, вводить данные о необходимой дате при помощи элемента <SELECT>. Затем данные из формы, передаются методом POST обработчику на PHP, который проверяет корректность данных и заносит их в БД. Всё работает хорошо.
<form>
....................
...................
<td>Дата введения:<br>в формате (ГГГГ-ММ-ДД)
<FIELDSET><LEGEND>Год</LEGEND>
<SELECT NAME="year">
<?php
$j=0;
for($i=1960;$i<=date("Y");$i++){
if($j==0){echo '<OPTION VALUE="'.$i.'" checked>'.$i;$j=1;}else
{echo '<OPTION VALUE="'.$i.'" >'.$i;}
}
?>
</SELECT>
</FIELDSET>
<FIELDSET><LEGEND>Месяц</LEGEND>
<SELECT NAME="month">
<?php
$j=0;
for($i=01;$i<=12;$i++){
if($j==0){echo '<OPTION VALUE="'.$i.'" checked>'.$i;$j=1;}else
{echo '<OPTION VALUE="'.$i.'" >'.$i;}
}
?>
</SELECT>
</FIELDSET></div><div>
<FIELDSET><LEGEND>День</LEGEND>
<SELECT NAME="day">
<?php
$j=0;
for($i=01;$i<=31;$i++){
if($j==0){echo '<OPTION VALUE="'.$i.'" checked>'.$i;$j=1;}else
{echo '<OPTION VALUE="'.$i.'" >'.$i;}
}
?>
</SELECT>
</FIELDSET>
</td>
..............
.............
</form>
|
Далее, возникла необходимость, иногда вносить изменения в БД, т.е. редактировать записи в БД. За основу, были взяты эта же форма и модернизированный обработчик. Я, хочу добиться. чтобы при редактировании записи из БД, в форму подставлялись текущие значения, этой записи.
С элементами <INPUT> и <TEXTAREA> проблем не возникло. Проблема с выбором даты. По умолчанию, стоит начальная дата 1960-01-01, а, например редактируемая запись имеет значение даты 1996-02-12. Хотелось, бы добиться. чтоб в редактируемой форме, указывалась дата 1996-02-12.
$date_array=explode('-',$id_row['date_begin']);
|
Где, $id_row['date_begin'], дата, взятая из БД в формате ГГГГ-MM-ДД, а $date_array - массив, в котором, под индексом 0, храниться год, 1 - месяц, 2 - день. Вот, эти значения, и нужно использовать для подстановки в форму. | |
|
|
|
|