Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) 1 [2]  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Смена формата даты в MySQL
Bizon4ik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 97
Пользователь №: 29749
На форуме: 5 лет, 2 месяца, 17 дней
Карма:




Цитата (andrey888 @ 6.05.2013 - 15:57)
Цитата
У меня в форму c type=text водится дата в формате 06.05.2013

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

а как по вашему лучше вводить дату? В полу type=date?
Тогда каждый браузер будет по своему отображать форму, а любимый IE все равно примет как текст или я ошибаюсь?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rooor  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1578
Пользователь №: 29109
На форуме: 5 лет, 4 месяца, 2 дня
Карма: 80




strtotime разные форматы преобразовывает...
думаю можно попробовать проверку
if(strtotime($a) > 0)

если больше нуля - дата определена, но утверждать не буду)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
andrey888  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 793
Пользователь №: 27801
На форуме: 5 лет, 7 месяцев
Карма: 14




rooor протести

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


Bizon4ik

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

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

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


--------------------
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Анатолий  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Если кому поможет я сделал так:

Есть таблица (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
.....
.....


    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5497
Пользователь №: 35718
На форуме: 4 года, 21 день
Карма: 167




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


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) 1 [2]  Ответ в темуСоздание новой темыСоздание опроса