Forum Webscript.Ru

Программирование => PHP => Тема начата: lula от 28 Июня 2005, 11:32:35

Название: Застряла в самом неподходящем месте
Отправлено: lula от 28 Июня 2005, 11:32:35
Помоги кто-нибудь!!!!! Больше нет сил....
Итак, написала я функцию для обработки даты для 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 от 28 Июня 2005, 12:20:19
попробуйте пользоваться {} скобками

if (!$e_date) {
  $ret[\'e_date\']=date("Y-m-d");
} else {
  $arr_date_e=split(\'[/.-]\',$e_date);
  ....
}
Название: Застряла в самом неподходящем месте
Отправлено: lula от 28 Июня 2005, 12:27:30
Большое спасибо! Даже не вериться, что кто-то взглянул на мою проблему.... Я разобралась.... Извините, что побеспокоила своими вопросами!
Название: Застряла в самом неподходящем месте
Отправлено: Меняздесьдавнонет от 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 года\');
Название: Застряла в самом неподходящем месте
Отправлено: sarutobi от 29 Июня 2005, 08:57:36
RomikChef
кажется так будет лучше
function rdate($date=0,$format=\'d.m.y H:i\')
Название: Застряла в самом неподходящем месте
Отправлено: Меняздесьдавнонет от 29 Июня 2005, 11:14:58
как угодно
каждый волен исправить так, как ему будет удобно.