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

Форум PHP

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

 

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

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

тема: Как научить php распозновать дату.
 
 автор: rusbi   (29.06.2007 в 08:16)   письмо автору
 
 

Есть строка index.php?date=2007-01

КАк проще всего научить Php переводить дату в название месяцев? т.е. в коде должно быть примерно следующее:


if (isset($date)) {

----
получение из 2007-01 слова январь и занесение этого слова например в переменную $month, а + вытащить год и занести его в переменную $year.
----

echo "Заметки за $month $year года";

Дальше вытаскиваю заметки за этот месяц и з базы и вывожу их (это у меня уже реализовано).



}



Как проще всего реализвать часть получение из 2007-01 в слово январь и занесение этого слова например в переменную $month а 2007 в переменную $year?

   
 
 автор: bronenos   (29.06.2007 в 08:27)   письмо автору
 
   для: rusbi   (29.06.2007 в 08:16)
 

if (isset($_GET['date']))
{
  list ($year, $month) = explode ('-', $_GET['date']);

  $months = array ('jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec');
  print "Месяц {$months[$month-1]} $year года";
}

   
 
 автор: rusbi   (29.06.2007 в 08:41)   письмо автору
 
   для: bronenos   (29.06.2007 в 08:27)
 

Спасибо!

И ещё вопросик по ходу. Почему Вы пишете вместо isset($date) - isset($_GET['date'])?

Сколько книг по PHP уже посмотрел, нигде не объяснят почему нужно брать переменные из массива, если они доступны и так.

   
 
 автор: sim5   (29.06.2007 в 09:37)   письмо автору
 
   для: rusbi   (29.06.2007 в 08:41)
 

Потому, что у вас Есть строка index.php?date=2007-01, и пока вы не соизволите, например, так:
$date = $_GET['date']
то у вас $date либо вообще будет не определена, а если определена, то может быть "пустой".
А это если они доступны и так - неверно.

   
 
 автор: rusbi   (29.06.2007 в 09:42)   письмо автору
 
   для: sim5   (29.06.2007 в 09:37)
 

Понятно, что есть не понятно почему нужно обязательно брать значение переменной из массива $_GET, хотя переменная $date из адресной строки передаются и в чистом виде т.е. просто $date.

   
 
 автор: sim5   (29.06.2007 в 09:53)   письмо автору
 
   для: rusbi   (29.06.2007 в 09:42)
 

Ниже указано почему, это то что я упустил в ответе.

   
 
 автор: Trianon   (29.06.2007 в 10:37)   письмо автору
 
   для: rusbi   (29.06.2007 в 09:42)
 

Выключите register globals.

   
 
 автор: bronenos   (29.06.2007 в 09:43)   письмо автору
 
   для: rusbi   (29.06.2007 в 08:41)
 

при register_globals off ваш вариант не пройдет

   
 
 автор: rusbi   (29.06.2007 в 09:54)   письмо автору
 
   для: bronenos   (29.06.2007 в 09:43)
 

Вот теперь ясно. Спасибо.

   
Rambler's Top100
вверх

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