В Оракловской базе есть поле типа Date. Базу пользуют два приложения - на С++ Билдере и на PHP. В базе все даты лежат в формате дд.мм.гггг На Билдере при инициализации приложения задается ShortDateFormat, в котором указывается, что год четырехзначный. На пхп что только не делал, но год даты - двухзначный, то есть при считывании даты из оракловской базы она в любом случае возвращается в формате дд.мм.гг, а нужно дд.мм.гггг. Кто знает как это побороть???
Может подскажет кто как должно быть? Из базы вывод работает в базе как 05.11.2008 [sql]select to_char(date, 'dd.mm.yy') from date[/sql] после запроса как: 05.11.08 А на странице не работает: Пробовал в запросе сделать - не отображает страницу. Работает если будет просто запрос select date from date. PHP: $stmt = oci_parse($conn, "select to_char(date, 'dd.mm.yy') from date"); - а так не работает. Если вставить при обработке массива - тоже не работает. PHP: while ($row = oci_fetch_array ($stmt, OCI_BOTH)) { $date=TO_CHAR($row['DATE'], "dd.mm.yy"); - это не работает... // echo "<b>".$row['DATE']."</b>"; - а если это оставить, то работает }
В SQL [sql]select to_char(date, 'dd.mm.yy') from date[/sql] to_char() функция оракла. В php PHP: <?php $date=TO_CHAR($row['DATE'], "dd.mm.yy"); to_char() функция php. Которой не существует. Так должно быть в похапэ PHP: <?php $date = date('d.m.Y', strtotime($row['DATE'])); upd strtotime() формирует любую ангосакскую дату в unix timestamp, а функция date() принимает тайштамп и переводит в формат d.m.Y, что значит ДД.ММ.ГГГГ. http://php.net/date - тут подробнее.
А если нужно вывести в цикле все значения из $row['DATE'] с корректными названиями месяцев? PHP: $result = mysql_query("SELECT id,title,date_format(date, '%d.%m.%Y, %H:%i')as date,description,author FROM lessons ORDER BY date DESC",$db); нужно прилепить проверку и вывод даты. PHP: $month_arr = array( 1 => 'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля', 5 => 'мая', 6 => 'июня', 7 => 'июля', 8 => 'августа', 9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря' );]; + PHP: do { ... printf( $myrow['date'] ) ... } while ($row = mysql_fetch_array($result)); Как сделать проверку и вывод? в РНР новичек