kr3v3tkus почитать: http://ru.php.net/manual/ru/function.preg-match.php http://ru.php.net/manual/ru/function.preg-replace.php А почему не хавает то? Вроде корректный формат даты. Ну вот: Код (Text): $var = "2008-10-21"; preg_match("/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$/", $var, $result); $year = $result[1]; $month = $result[2]; $day = $result[3]; echo "$day/$month/$year\n<br>\n"; // Или так: $new_format = preg_replace("/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$/", "$3.$2.$1", $var); // В каком тебе формате надо echo $new_format;
пробовал - без масок тяжко, смотрится тарабарщиной вот маски почитаю и мб чёто пойму ну у меня почемуто с "-" не принимало, а с "." принимало из пма... но в общем то вставил $new_format = preg_replace("/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$/", "$3.$2.$1", $var); всё правильно выводит... но в базу опять же не добавляет Т___Т я уже не знаю в чём искать причину...
ну я хз даже... попробуй в phpmyadmin'e выполни: Код (Text): insert into currency(`ticker`,`date`,`price`) values('AUD', '2008-10-21', '18.2731 ') # только так, как выдаётся сейчас с твоими точками если внесёт данные, то выполни весь запрос целиком, который генериться щас (с точками) и посмотри что будет..
опа\ вывод надо было сделать не $3.$2.$1 а $1.$2.$3, теперь с датой всё ок, а пишет запрос видица там так [sql]INSERT INTO currency( `ticker` , `date` , `price` ) VALUES ( 'AUD', '2008.10.22', '18.1443 ' ), ( 'BYR', '2008.10.22', '12.5109 ' ), ( 'CAD', '2008.10.22', '22.1047 ' ), ( ...[/sql] что за пробел в конце чисел? =\ price типа double... зы вроде понил... ща диапазон расшырю
м... менял менял на разные - ошибки не вылазяет только при decimal, real ваще почемуто даже при пустой базе не ставица(или ему нельзя длинну выставлять?) где лучше хранить такого типа запись?
-- -- Структура таблицы `currency` -- CREATE TABLE IF NOT EXISTS `currency` ( `ticker` varchar(3) collate utf8_unicode_ci NOT NULL, `date` date NOT NULL, `price` float NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Дамп данных таблицы `currency` -- это? :[
Сделай в скрипте SET NAMES сразу после того как выбрал БД (mysql_select_db()). PHP: <? mysql_query('SET NAMES utf8'); ?>