[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Смена формата даты в MySQL
Страницы: 1, 2
Bizon4ik
Цитата (andrey888 @ 6.05.2013 - 15:57)
Цитата
У меня в форму c type=text водится дата в формате 06.05.2013

зачем создавать себе проблемы чтобы их потом решать ?
---------------
Если изменить ввод даты уж никак .... То можно первоначальную дату расклеить на массив , а потом склеить в обратном = нужном вам порядке.

а как по вашему лучше вводить дату? В полу type=date?
Тогда каждый браузер будет по своему отображать форму, а любимый IE все равно примет как текст или я ошибаюсь?
rooor
strtotime разные форматы преобразовывает...
думаю можно попробовать проверку
if(strtotime($a) > 0)

если больше нуля - дата определена, но утверждать не буду)
andrey888
rooor протести

$dd = '06.07.12';
$dd1 = '06/07/12';
$dd2 = '06-07-12';
echo strtotime($dd).' ' , strtotime($dd1).' ', strtotime($dd2); // абсолютно разные значения...


Bizon4ik

Как это не странно но лучше выводить тремя селектами (день, месяц, год) ИМХО.
Мало где видел, чтоб пользователя просили ввести дату ручками а рядом скажем укаывали формат ввода дд.мм.гггг - мне кажется это бред да и селекты поудобнее будут.

Про браузер и про форму я тебя вообще не понял - если есть проблемы с отображением то это кроссбраузерность храмает и ее надо фиксить , но поле ввода даты тут вообще не при чем.

У тебя для даты в БД поле какого типа ?? varchar чтоли ???

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Анатолий
Если кому поможет я сделал так:

Есть таблица (table_name) с датами рождения (birth_date).
В таблице дата имеет вид 2006-05-23.
Существует очень полезная функция CONCAT(),
которая собирает любые данные в строку,
а также мои любимые функции для работы с датой DAY(), MONTH(), YEAR().

Теперь запрос:

SELECT CONCAT(DAY(birth_date),".",MONTH(birth_date),".",YEAR(birth_date)) as NewDate FROM table_name

На выходе получим:

| NewDate |
| 23.05.2006 |


Причём NewDate - это уже строка, которую мы легко выведем на экран с помощью PHP:

<?php

//соединяемся с MySQL с помощью
mysql_connect('ваши параметры');

//выбираем базу данных
mysql_select_db('ваша база данных');

//создаём запрос
$sql=sprintf("SELECT CONCAT(DAY(birth_date),'.',MONTH(birth_date),'.',YEAR(birth_date)) as NewDate FROM table_name");

//выполняем запрос
$r=mysql_query($sql);

//если запрос выполнен успешно
if ($r) {
//запускаем цикл, в котором переменной $row присваиваем значения полученного запроса
while ($row=mysql_fetch_assoc($r)) {
// выводим поле "NewDate" на экран
echo "<p>Дата в нужном формате: {$row['NewDate']}</p><br />";
};
} else {
//если что-то пошло не так выводим сообщение об ошибке
echo "<p>Ошибка" . mysql_error() . "</p>";
};

?>

Получаем на выходе столбик с датами в нужном нам формате:

Дата в нужном формате: 23.05.2006
Дата в нужном формате: 25.03.2005
Дата в нужном формате: 04.12.2002
Дата в нужном формате: 15.12.2000
.....
.....


Valick
Анатолий, во первых есть DATE_FORMAT(), во вторых топик 13-го года, а в третьих речь в топике щла совершенно о другом.

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.