Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: автоматическая дата
 
 автор: aleksej_sumarok   (11.06.2008 в 21:58)   письмо автору
 
 

<tr>
    <td class="tableRow">Start date *</td>
    <td class="tableRow">
        <select name="dates[start_date][Date_Month]" onchange='countDays();'>
<option label="January" value="01">January</option>
<option label="February" value="02">February</option>
<option label="March" value="03">March</option>
<option label="April" value="04" selected="selected">April</option>
<option label="May" value="05">May</option>
<option label="June" value="06">June</option>
<option label="July" value="07">July</option>
<option label="August" value="08">August</option>
<option label="September" value="09">September</option>
<option label="October" value="10">October</option>
<option label="November" value="11">November</option>
<option label="December" value="12">December</option>
</select>
<select name="dates[start_date][Date_Day]" onchange='countDays();'>
<option label="01" value="1">01</option>
<option label="02" value="2">02</option>
<option label="03" value="3">03</option>
<option label="04" value="4">04</option>
<option label="05" value="5">05</option>
<option label="06" value="6">06</option>
<option label="07" value="7">07</option>
<option label="08" value="8">08</option>
<option label="09" value="9">09</option>
<option label="10" value="10">10</option>
<option label="11" value="11">11</option>
<option label="12" value="12">12</option>
<option label="13" value="13">13</option>
<option label="14" value="14">14</option>
<option label="15" value="15">15</option>
<option label="16" value="16">16</option>
<option label="17" value="17">17</option>
<option label="18" value="18">18</option>
<option label="19" value="19">19</option>
<option label="20" value="20">20</option>
<option label="21" value="21" selected="selected">21</option>
<option label="22" value="22">22</option>
<option label="23" value="23">23</option>
<option label="24" value="24">24</option>
<option label="25" value="25">25</option>
<option label="26" value="26">26</option>
<option label="27" value="27">27</option>
<option label="28" value="28">28</option>
<option label="29" value="29">29</option>
<option label="30" value="30">30</option>
<option label="31" value="31">31</option>
</select>
<select name="dates[start_date][Date_Year]" onchange='countDays();'>
<option label="2008" value="2008" selected="selected">2008</option>
</select>
            
        <input type="hidden" name="f[start_date]" />
    </td>
</tr>


Подскажите пожалуйста как в выпадающем меню selected дата показывала автоматически ту что у меня на компьютере.

   
 
 автор: DEM   (11.06.2008 в 22:07)   письмо автору
 
   для: aleksej_sumarok   (11.06.2008 в 21:58)
 

Это надо делать что-то вроде этого:

<?php
for($i=1;$i<31;$i++)
{
if(
$i==date("d"))
  
$sel "selected=selected";
echo 
'<option label="'.$i.'" value="'.$i.'" $sel>'.$i.'</option>';
}
?>

Что-то вроде этого

   
 
 автор: Yuriev   (11.06.2008 в 22:09)   письмо автору
 
   для: DEM   (11.06.2008 в 22:07)
 

Только добавить
else $sel = '';

   
 
 автор: aleksej_sumarok   (11.06.2008 в 22:15)   письмо автору
 
   для: DEM   (11.06.2008 в 22:07)
 

<select name="dates[start_date][Date_Day]">
<?php
for($i=1;$i<32;$i++)
{
if(
$i==date("d"))
  
$sel 'selected="selected"';
echo 

<option label="'
.$i.'" value="'.$i.'" $sel>'.$i.'</option>

'
;

}
?> 
</select>


сделал так, только selected 1 число. что я сделал не так?

   
 
 автор: Trianon   (11.06.2008 в 23:09)   письмо автору
 
   для: aleksej_sumarok   (11.06.2008 в 22:15)
 

У строках, окруженных апострофами, подстановка переменных не выполняется.
Недоглядел DEM, но Вы думать должны, а не вслепую код копировать.
И стоит учесть сказанное Yuriev (11.06.2008 в 22:09)

   
 
 автор: aleksej_sumarok   (11.06.2008 в 23:33)   письмо автору
 
   для: Trianon   (11.06.2008 в 23:09)
 

А можете пожалуйста показать сам код, если не трудно. Заранее благодарю. А то я в ПХП не очень...

   
 
 автор: Trianon   (11.06.2008 в 23:45)   письмо автору
 
   для: aleksej_sumarok   (11.06.2008 в 23:33)
 

пожалуйста...
<select name="dates[start_date][Date_Day]">
<?php
for($d=date("d"), $i=1;  $i<32;  $i++)
{
  
$sel $i == $d 'selected="selected"' '';
  echo 
"<option label=\"$i\" value=\"$i\" $sel >$i</option>\r\n";
}
?> 
</select>

... но я ведь тоже мог и наврать...

   
 
 автор: aleksej_sumarok   (12.06.2008 в 00:30)   письмо автору
 
   для: Trianon   (11.06.2008 в 23:45)
 

Да всё работает, большое спасибо. А можно поинтересоваться а как будет выглядеть если название месяца будет словом?

   
 
 автор: DEM   (12.06.2008 в 01:47)   письмо автору
 
   для: aleksej_sumarok   (12.06.2008 в 00:30)
 

там будет что-то вроде (опять же не ручаюсь за правильность) :

<?
$arr 
= array("Январь""Февраль""Март");
for(
$i=0;$i<count($arr);$i++)
{
echo 
"<option label='".$arr['$i']."' value='".$arr['$i']."'>'".$arr['$i']."'</option>";
}
?>


Попробуйте так.

   
 
 автор: BinLaden   (12.06.2008 в 02:50)   письмо автору
 
   для: DEM   (12.06.2008 в 01:47)
 

> $arr['$i']

Интерполяция переменных в PHP не происходит, когда строка обрамлена апострофами. То есть PHP будет искать элемент с двумя символами: "$" и "i".

   
 
 автор: DEM   (12.06.2008 в 09:39)   письмо автору
 
   для: BinLaden   (12.06.2008 в 02:50)
 

Да, точно... как-то ступил

   
 
 автор: aleksej_sumarok   (12.06.2008 в 10:05)   письмо автору
 
   для: DEM   (12.06.2008 в 09:39)
 

Вот мой вариант, selected не работает :(

<select name="dates[start_date][Date_Day]">
<?
$arr 
= array(ЯнварьФевральМартАпрельМайИюньИюльАвгустСентябрьОктябрьНоябрьДекабрь);
for(
$i=0;$i<count($arr);$i++)
{
  
$sel $i == $F'selected="selected"' '';    
echo 
"<option label=".$arr["$i"]." value=".$arr["$i"].$sel>".$arr["$i"]."</option>";
}
?> 
</select>

   
 
 автор: sim5   (12.06.2008 в 12:25)   письмо автору
 
   для: aleksej_sumarok   (12.06.2008 в 10:05)
 

А с чего бы он работал? Это с чем вы тут итерацию цикла сравниваете?:

<?
//.......
$sel $i == $F'selected="selected"' '';

   
 
 автор: BinLaden   (12.06.2008 в 14:39)   письмо автору
 
   для: sim5   (12.06.2008 в 12:25)
 

Как вообще итерацию (т.е. повторение) можно с чем-то сравнивать? :)

   
 
 автор: AcidTrash   (13.06.2008 в 22:39)   письмо автору
 
   для: aleksej_sumarok   (12.06.2008 в 10:05)
 

>$sel = $i == $F 'selected="selected"' : '';
Действительно, очень интересная запись, в данном случае.

   
 
 автор: aleksej_sumarok   (15.06.2008 в 23:48)   письмо автору
 
   для: AcidTrash   (13.06.2008 в 22:39)
 

Можете показать как будет правильно...? Я же сказал что я в ПХП ноль.... :(

   
 
 автор: sim5   (16.06.2008 в 06:01)   письмо автору
 
   для: aleksej_sumarok   (15.06.2008 в 23:48)
 

Так надо учить его, коли вы взялись что-то писать на нем. Тогда к нулю будет постепенно добавляться по единице...
Вы посмотрели, что вам куратор написал: $sel = $i == $d ? 'selected="selected"' : ''; и написали себе так же, а надо было открыть либо книгу, либо этот РНР-справочник, и прочитать о функции date(), и тогда бы вы обратили внимание на это:
for($d=date("d"), $i=1; $i<32; $i++) {
из чего последующая запись, а значит и выбран или нет опшен спика:
$sel = $i == $d ? 'selected="selected"' : '';
будет определятся номером дня в месяце. Если он совпадает с номером итерации цикла, то сделать опшен выбранным. Вы пытаетесь сделать тоже самое с месяцем, значит надо получить функцией date() номер текущего месяца и сравнивать его с номером итерации цикла. Попробуйте, должно получится.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования