Автор Тема: Застряла в самом неподходящем месте  (Прочитано 3826 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lula

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помоги кто-нибудь!!!!! Больше нет сил....
Итак, написала я функцию для обработки даты для sql запроса следующего вида:
function sql_date($s_date, $e_date) {
 if (!$s_date)  $ret[\'s_date\']=date("Y-m-d", mktime(0,0,0,date("m"), 1, date("Y")));
  else {$arr_date_s=split(\'[/.-]\',$s_date);
          $ret[\'s_date\']=date("Y-m-d", mktime(0,0,0,get_month($arr_date_s[1]), $arr_date_s[0], get_year($arr_date_s[2]))); }
 if (!$e_date) $ret[\'e_date\']=date("Y-m-d");
 else {$arr_date_e=split(\'[/.-]\',$e_date);
        $ret[\'e_date\']=date("Y-m-d", mktime(0,0,0,get_month($arr_date_e[1]), $arr_date_e[0], get_year($arr_date_e[2]))); }

  return $ret;
}
В текстовом поле на форме ввожу - 01/05/05 - оператор else не обрабатывается - не понимаю ПОЧЕМУ?????

Оффлайн vfabr

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Застряла в самом неподходящем месте
« Ответ #1 : 28 Июня 2005, 12:20:19 »
попробуйте пользоваться {} скобками

if (!$e_date) {
  $ret[\'e_date\']=date("Y-m-d");
} else {
  $arr_date_e=split(\'[/.-]\',$e_date);
  ....
}

Оффлайн lula

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Застряла в самом неподходящем месте
« Ответ #2 : 28 Июня 2005, 12:27:30 »
Большое спасибо! Даже не вериться, что кто-то взглянул на мою проблему.... Я разобралась.... Извините, что побеспокоила своими вопросами!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Застряла в самом неподходящем месте
« Ответ #3 : 28 Июня 2005, 13:06:52 »
function rdate($date=0,$format=\'\') {
  // в качестве даты понимает unix timestamp и date или datetime из mysql
  // формат - обычный формат date() с одним исключением
  // \\\\P (латиниская) - русское название месяца в именительном падеже
  // \\\\p (латиниская) - русское название месяца в родительном падеже

  if (!$date) $date=time();
  elseif (preg_match(\'!(\\\\d{4})-(\\\\d{2})-(\\\\d{2})( (\\\\d{2}):(\\\\d{2}):(\\\\d{2}))?!\',$date,$m)) {
    if (!isset($m[4])) $m[5]=$m[6]=$m[7]=0;
    $date=mktime($m[5],$m[6],$m[7],$m[2],$m[3],$m[1]);
  }
  if(!$format) {
    $format=\'d.m.y H:i\';
    if (!isset($m[4])) $format=\'d.m.y\';
  }
  $rmon=array(\'январь\',\'февраль\',\'март\',\'апрель\',
  \'май\',\'июнь\',\'июль\',\'август\',\'сентябрь\',
  \'октябрь\',\'ноябрь\',\'декабрь\');
  $format=str_replace(\'\\\\P\',$rmon[date(\'n\',$date)-1],$format);
  $rmon=array(\'января\',\'февраля\',\'марта\',\'апреля\',
  \'мая\',\'июня\',\'июля\',\'августа\',\'сентября\',
  \'октября\',\'ноября\',\'декабря\');
  $format=str_replace(\'\\\\p\',$rmon[date(\'n\',$date)-1],$format);
  return date($format,$date);
}

//примеры:
echo rdate().\'
\';
echo rdate(0,\'d \\\\p Y года\');
« Последнее редактирование: 29 Июня 2005, 11:15:13 от RomikChef »

Оффлайн sarutobi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
Застряла в самом неподходящем месте
« Ответ #4 : 29 Июня 2005, 08:57:36 »
RomikChef
кажется так будет лучше
function rdate($date=0,$format=\'d.m.y H:i\')

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Застряла в самом неподходящем месте
« Ответ #5 : 29 Июня 2005, 11:14:58 »
как угодно
каждый волен исправить так, как ему будет удобно.

 

Sitemap 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