Автор Тема: Вывод даты из БД  (Прочитано 10026 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andy5555

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 44
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод даты из БД
« : 29 Июня 2006, 18:51:24 »
добрый день!
у меня из БД дата выводиться как например:
1995-12-29
и имеет имя dateroz
тоесть
echo $dateroz;

Вопрос как вывести эту дату на экран в другом порядке?
например так:

29.12.1995

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Вывод даты из БД
« Ответ #1 : 29 Июня 2006, 19:03:14 »
Если СУБД MySQL то использовать в запросе

DATE_FORMAT

Оффлайн andy5555

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 44
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод даты из БД
« Ответ #2 : 30 Июня 2006, 11:05:04 »
Да ДБ MySQL

если запрос осуществляется следующим образом:

	
$r_contact mysql_query("SELECT * FROM " TABLE_CONTACT " AS contact WHERE contact.id=$id"$db_link)
	
or die(
reportSQLError());


потом так:
	
$tbl_contact mysql_fetch_array($r_contact); 


ну и переводит в переменную, которая потом выводится на экран:
  $contact_abdatum stripslashes$tbl_contact[\'abdatum\'] );

как мне здесь использовать функцию?
вообщето програмист из меня не какой, был готовый скриптик вот я его подпровляю на свой вкус. Поэтому любой понятной для такого програмиста как я помощи был-бы очень рад!

Оффлайн vasa_c

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 0
    • Просмотр профиля
    • http://blgo.ru/blog/
Вывод даты из БД
« Ответ #3 : 30 Июня 2006, 12:31:59 »
>как мне здесь использовать функцию?
Ссылку же на мануал дали. Там примеров полно.

>$contact_abdatum = stripslashes( $tbl_contact[\'abdatum\'] );
Зачем???
Блог ГО

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Вывод даты из БД
« Ответ #4 : 01 Июля 2006, 00:19:26 »
Вот эта строка тоже может помоч,
$date=preg_replace("/(\\d{4})-(\\d{2})-(\\d{2})/","\\\\3.\\\\2.\\\\1",$date);
если захочиш обратно то:
$date=preg_replace("/(\\d{4})\\.(\\d{2})\\.(\\d{2})/","\\\\3-\\\\2-\\\\1",$date);
Не все является тем чем кажется.

Оффлайн andy5555

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 44
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод даты из БД
« Ответ #5 : 01 Июля 2006, 12:17:06 »
Цитировать
Kneaz:
$date=preg_replace("/(\\d{4})-(\\d{2})-(\\d{2})/","\\\\3.\\\\2.\\\\1",$date);

 вот так я её преоброзовал:
:
$contact_abdatum=preg_replace("/(\\d{4})-(\\d{2})-(\\d{2})/","\\\\3.\\\\2.\\\\1",$contact_abdatum);


и действительно заработало.
Теперь выдаёт нормально. Теперь у меня следующий вопрос:

<INPUT [B]onClick="timepick(this)" [/B]  TYPE="text"  NAME="abdatum" VALUE="<?php echo($contact_abdatum); ?>">

Если я здесь задаю другую дату , тоесть меняю её на другую и в формате Д.М.ГОД
эти данные переправляются в файл "SAVE.PHP" и там мне по идее надо тоже переделать что-бы он передовал в Б.Д. как ГОД-М-Д, тоесть для БД понятные числа.
А всё потому-что у меня в форме есть календарик на яваскрипт и он заносит дату только в формате как Д.М.ГОД

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Вывод даты из БД
« Ответ #6 : 01 Июля 2006, 15:45:32 »
$date=preg_replace("/(\\d{4})\\.(\\d{2})\\.(\\d{2})/","\\\\3-\\\\2-\\\\1",$date);
это думаеш зачем я тебе написал :)
только вот ошибку сделал надо:
$date=preg_replace("/(\\d{2})\\.(\\d{2})\\.(\\d{4})/","\\\\3-\\\\2-\\\\1",$date);
 оно какраз обрантный перевод и делает :) тоесть из Д.М.ГОД в ГОД-М-Д

P.S. а вообще разберись с регулярными выражениями, очень полезная вещ.
« Последнее редактирование: 01 Июля 2006, 15:52:08 от Altaxar »
Не все является тем чем кажется.

Оффлайн andy5555

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 44
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод даты из БД
« Ответ #7 : 03 Июля 2006, 17:49:16 »
да спасибо, получилось
еще один вопрос.
если мой календарик заносит месец как 7 например, вместо 07 то БД не понемает, потому что нуля нету впереди, тоесть тут либо в яваскрипте кавырятся или можно сделать с помощью php?

тоесть если данные месеца передаются как "7" что-бы он добовлял 0 к семёрочки. Вообшем к однозначному числу 0 впереди.
ну и с числом такая-же проблема

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Вывод даты из БД
« Ответ #8 : 03 Июля 2006, 18:28:39 »
andy5555
Вот 2 примерчика

function to_bd($matches){
if(
strlen($matches[1])==1$matches[1]=\'0\'.$matches[1];
	

if(strlen($matches[2])==1) $matches[2]=\'0\'.$matches[2];
	

return $matches[3].\'-\'.$matches[2].\'-\'.$matches[1];
	

}
$date=preg_replace_callback("/(\\\\d{1,2})\\\\.(\\\\d{1,2})\\\\.(\\\\d{4})/",create_function(\'$matches\',\'return to_bd($matches);\'),$date);
« Последнее редактирование: 03 Июля 2006, 18:45:34 от Altaxar »
Не все является тем чем кажется.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Вывод даты из БД
« Ответ #9 : 03 Июля 2006, 18:42:26 »
Вот еще, из БД чтобы убрать 0 перед цифрами,

function out_bd($matches){
if(
$matches[2]{0}==\'0\') $matches[2]=$matches[2]{1};
	

if($matches[3]{0}==\'0\') $matches[3]=$matches[3]{1};
return $matches[3].\'.\'.$matches[2].\'.\'.$matches[1];
	

}
$date=preg_replace_callback("/(\\\\d{4})-(\\\\d{2})-(\\\\d{2})/",create_function(\'$matches\',\'return out_bd($matches);\'),$date);
Не все является тем чем кажется.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Вывод даты из БД
« Ответ #10 : 03 Июля 2006, 20:32:47 »
andy5555
[p]str_pad[/p]

Kneaz
Охренеть.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Вывод даты из БД
« Ответ #11 : 03 Июля 2006, 21:59:05 »
hanslinger
Офигеть, если ты не понял что ему нужно было :)
и твой str_pad ему вообще до лампочки, если ты не заметил.
как я вижу ты вообще не понял, что я написал, значит такой у тебя интелект.
Не все является тем чем кажется.

Оффлайн andy5555

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 44
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод даты из БД
« Ответ #12 : 04 Июля 2006, 11:15:17 »
Спасибо большое всем!
Особенно тебе Kneaz !

Вчера просто открыл календарик, покапался в яваскрипте и переделал его теперь всё нормально!

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Вывод даты из БД
« Ответ #13 : 04 Июля 2006, 11:22:24 »
Kneaz
В PHP я бы сделал так:

function in_bd($matches)
{
return 
str_pad($matches[3],2,\'0\',STR_PAD_LEFT).str_pad($matches[2],2,\'0\',STR_PAD_LEFT).$matches[1];
}

Но вместо того, чтобы заниматься подобным онанизмом, можно пойти по ссылке, которую дали сразу же.
И прежде чем писать о моем «интелекте», узнай, как это слово пишется.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Вывод даты из БД
« Ответ #14 : 04 Июля 2006, 12:33:35 »
hanslinger
Красиво, только вот ошибку исправь ;) сам найдеш или подсказать? ;)
может еще напишеш как 2 примерчик оптемизировать?
Не все является тем чем кажется.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28