[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Время
Proxymetron
Доброго времени суток.

Вывожу с базы дату и время

$query = mysql_query("SELECT * FROM time ",$db);
$myrow = mysql_fetch_assoc($query);

while ($myrow = mysql_fetch_assoc($query))
{
echo $myrow['datetime'] ;
echo "<br>";
};


выводит в таком виде:
2009-12-15 13:50:27

вопрос:
как выводить только время ? (что бы показывало только 13:50:27)








Спустя 9 минут, 50 секунд (15.12.2009 - 13:39) glock18 написал(а):
sql: date_format
php: strtotime, date

Спустя 26 минут, 27 секунд (15.12.2009 - 14:06) Proxymetron написал(а):
в том то и проблема что я не совсем понял как этим пользоваться sad.gif

не могли бы привести пример?

Спустя 12 минут, 8 секунд (15.12.2009 - 14:18) Proxymetron написал(а):
по моему можно посчитать кол-во символов
и показать последние 8 (в данном случае) ?

Спустя 14 минут, 51 секунда (15.12.2009 - 14:33) phz написал(а):
$query = mysql_query("SELECT *,DATE_FORMAT(date,'%d.%m.%Y') as `dateformat`  FROM `table`");


даты будут в 04.09.2007 и будут находиться в поле dateformat, не date

как написать формат: http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html

Спустя 8 минут, 21 секунда (15.12.2009 - 14:41) glock18 написал(а):
только * нельзя с другими полями использовать. надо все поля перечислить ручками.

Спустя 1 минута, 39 секунд (15.12.2009 - 14:43) Gradus написал(а):
Цитата
по моему можно посчитать кол-во символов
и показать последние 8 (в данном случае) ?

Можно и так user posted image
$usl=array(); $time=array();
for($i=0;$i < 3;$i++) $usl[]='[0-9]{2}';
preg_match("/".implode(':',$usl)."/i",$myrow['datetime'],$time);
echo $time[0] ;
echo "<br>";

Спустя 3 минуты, 5 секунд (15.12.2009 - 14:46) phz написал(а):
Зачем преобразовывать дату в php? В mysql уже есть функция DATE_FORMAT, можно ее использовать непосредственно в SQL запросе и получить дату в нужном нам формате.

Спустя 1 минута, 16 секунд (15.12.2009 - 14:47) phz написал(а):
Это если уже так, то выводит в человеческий вид

$month = array("", "Января", "Февраля", "Марта"...);

и т.д...

Спустя 3 минуты, 24 секунды (15.12.2009 - 14:50) Gradus написал(а):
phz
Если ты про мой пример , то это прикол smile.gif А про преобразование в sql то лишние функции которые и php сможет обработать лучше не использовать ибо нагрузки на серв больше sql функциями еже ли обработкой php

Спустя 5 минут, 28 секунд (15.12.2009 - 14:56) twin написал(а):
Цитата
А про преобразование в sql то лишние функции которые и php сможет обработать лучше не использовать ибо нагрузки на серв больше sql функциями еже ли обработкой php

Не факт.

Спустя 1 минута, 48 секунд (15.12.2009 - 14:58) glock18 написал(а):
Цитата
Это если уже так, то выводит в человеческий вид

$month = array("", "Января", "Февраля", "Марта"...);


в sql можно выбрать локаль для текущего соединения. в пыхе можно установить локаль для всего процесса. эти велосипеды ни к чему.

Gradus
Цитата
А про преобразование в sql то лишние функции которые и php сможет обработать лучше не использовать ибо нагрузки на серв больше sql функциями еже ли обработкой php


не знаю даже как сказать. откуда такие мысли закрались?

Спустя 9 минут, 3 секунды (15.12.2009 - 15:07) pultter написал(а):
может мой способ и тупой немного, но рабочий...

$query = mysql_query("SELECT * FROM time ",$db);
$myrow = mysql_fetch_assoc($query);

while ($myrow = mysql_fetch_assoc($query))
{
$time = substr($myrow['datetime'] , 0,-8);
echo "".$time."<br>";
};

Спустя 2 минуты, 45 секунд (15.12.2009 - 15:09) waldicom написал(а):
Цитата (twin @ 15.12.2009 - 13:56)
Цитата
А про преобразование в sql то лишние функции которые и php сможет обработать лучше не использовать ибо нагрузки на серв больше sql функциями еже ли обработкой php

Не факт.

Во всяком случае запросы, как выше, не будут использовать кэш, а это в некоторых случаях не гут

Спустя 1 минута, 33 секунды (15.12.2009 - 15:11) glock18 написал(а):
я бы сказал, что этот способ недооценен несколько. не немного, вы смысле. да еще и с семантической ошибкой.

Спустя 1 минута, 31 секунда (15.12.2009 - 15:13) glock18 написал(а):
waldicom
насколько я знаю, будут. не будут использовать, если в запросе есть какие-то переменные факторы. Такие как функция NOW например. Хотя может и ошибаюсь.

Спустя 1 минута, 39 секунд (15.12.2009 - 15:14) Gradus написал(а):
twin
Ну если писать как я выше сделал конешно вариант на sql лучше будет smile.gif
glock18
Прочитал несколько статей.
Как я понял sql для той же обработки данных загружает бибиотеку , сама обработка идёт по такому же принципу php.
Что получаеться : тратим время на обработку sql запроса на функцию и её инклуда и выполняеться тоже действие что и в php.В чём же плюс ? в том что в одну строчку в одном запросе?

В падлу делать тест , но можно было попробывать что было бы быстрей.

Спустя 2 минуты, 43 секунды (15.12.2009 - 15:17) waldicom написал(а):
Цитата (glock18 @ 15.12.2009 - 14:13)
waldicom
насколько я знаю, будут. не будут использовать, если в запросе есть какие-то переменные факторы. Такие как функция NOW например. Хотя может и ошибаюсь.

Посмотрел еще раз, теперь внимательно smile.gif
Ты прав, я почему-то подумал, что date, это функция, которая дает текущее время.

Спустя 5 минут, 32 секунды (15.12.2009 - 15:22) twin написал(а):
SQL - язык компелируемый. А PHP - интерпретируемый. По этому мускул работает легче и быстрее в большинстве случаях. К тому же там реализован кэш. Так что совсем не факт, что обработку лучше делать на стороне php. Впрочем не факт, что и наоборот. Все зависит от конкретных условий.

Спустя 1 день, 15 часов, 21 минута, 51 секунда (17.12.2009 - 06:44) Proxymetron написал(а):
спасибо, вывести время получилось smile.gif
но возник еще вопрос:
в БД есть поля - datetime, sel


datetime sel
2009-12-15 18:50:27 1
2009-12-15 13:50:27 0
2009-12-14 19:50:27 1
2009-12-14 11:50:27 0

хочу вывести в таблице значения по критерию - слева все котрорые sel=1 а справа sel=0

что бы выглядело примерно так:
2009-12-15 18:50:27 2009-12-15 13:50:27
2009-12-14 19:50:27 2009-12-14 11:50:27

как это лучше сделать?



Спустя 8 часов, 51 минута, 10 секунд (17.12.2009 - 15:35) Gradus написал(а):
Как хотите можно сразу выводить
while(mysql_fetch_array)
{
<tr><td>
if(sel==0) echo 0;
</
td><td>
if(sel==1) echo 1;
</
td></tr>
}

Можно сделать 2 массива:
1)Все кто с sel 0
2)Все кто с sel 1


Спустя 3 дня, 16 часов, 23 минуты, 19 секунд (21.12.2009 - 07:59) Proxymetron написал(а):
Цитата (Gradus @ 17.12.2009 - 12:35)
Как хотите можно сразу выводить
while(mysql_fetch_array)
{
<tr><td>
if(sel==0) echo 0
</
td><td>
if(sel==1) echo  1;
</
td></tr>
}


попробовал так выводить
получается вроде такого:

2009-12-15 18:50:27 ___________________
__________________ 2009-12-15 13:50:27
2009-12-14 19:50:27 ___________________
__________________ 2009-12-14 11:50:27


тоесть пустые ячейки и ячейки с данными huh.gif


Спустя 5 часов, 50 минут, 27 секунд (21.12.2009 - 13:49) Proxymetron написал(а):
не ужели никто не решал подобные задачи? (

Спустя 21 час, 48 минут, 52 секунды (22.12.2009 - 11:38) Gradus написал(а):
Proxymetron
Щёлкали намного сложней smile.gif
Цитата
тоесть пустые ячейки и ячейки с данными

Ну так и правильно всё работает.
Я вам дал визуальный пример и устные решения, дальше дело за вами.Пример с массивами не охото писать
Быстрый ответ:

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