[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Преобразование даты из mysql
WisesT
Добрый день!
Подскажите или посоветуйте пожалуйста.

В таблице есть поле
`time`  timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,

В него автоматом загоняется текущая дата и время в формате ГГГГ-ММ-ЧЧ ЧЧ-ММ-СС

Есть страничка вывода данных с этой табл.
<?php  
// Устанавливаем соединение с базой данных
include "config.php";
// Переменная хранит число сообщений выводимых на станице
$num = 20;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM zakazy");
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения

$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query("SELECT * FROM zakazy LIMIT $start, $num");

// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($result))
?>
<?php

echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=
\"http://www.w3.org/1999/xhtml\">

<head>
<META http-equiv='refresh' content='60,http://192.168.1.21/out.php'>
<meta http-equiv=
\"Content-Type\" content=\"text/html; charset=windows-1251\" />

<title>Вывод данных из MySQL</title>

<style type=
\"text/css\">
<!--
body { font: 12px Georgia; color: #666666; }
h3 { font-size: 16px; text-align: center; }
table { width: 90%; border-collapse: collapse; margin: 0px auto; background: #E6E6E6; }
td { padding: 3px; text-align: center; vertical-align: middle; }
.buttons { width: auto; border: double 1px #666666; background: #D6D6D6; }
-->
</style>

</head>

<body>

<h3>Вывод ранее сохраненных данных из таблицы MySQL</h3>

<h4>Страничка автоматически обновляется каждую минуту. Вы можете обновить ее принудительно - нажав F5</h4>

<table border=
\"1\" cellpadding=\"0\" cellspacing=\"0\">
<tr style=
\"border: solid 1px #000\">
<td bgcolor=
\"ededed\"><b>Номер</b></td>
<td bgcolor=
\"ffffff\" align=\"center\"><b>Дата</b></td>
<td bgcolor=
\"ededed\" align=\"center\"><b>На когда</b></td>
<td bgcolor=
\"ffffff\" align=\"center\"><b>Готовность</b></td>
<td bgcolor=
\"ededed\" align=\"center\"><b>Фирма</b></td>
<td bgcolor=
\"ffffff\" align=\"center\"><b>Адресс</b></td>
<td bgcolor=
\"ededed\" align=\"center\"><b>Имя</b></td>
<td bgcolor=
\"ffffff\" align=\"center\"><b>Телефон</b></td>
<td bgcolor=
\"ededed\" align=\"center\"><b>Вес</b></td>
<td bgcolor=
\"ffffff\" align=\"center\"><b>Куда</b></td>
<td bgcolor=
\"ededed\" align=\"center\"><b>Оплата</b></td>
<td bgcolor=
\"ffffff\" align=\"center\"><b>Примечания</b></td>
<td bgcolor=
\"ededed\" align=\"center\"><b>Принял</b></td>
<td bgcolor=
\"ffffff\" align=\"center\"><b>Курьер</b></td>
</tr>"
;
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./out.php?page=1><<</a>
<a href= ./out.php?page='
. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./out.php?page='. ($page + 1) .'>></a>
<a href= ./out.php?page='
.$total. '>>></a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./out.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= ./out.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= ./out.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./out.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
echo "<br> <input type=\"button\" name=\"nazad\" class=\"buttons\" value=\"На главную\" onclick=\"self.location.href='http://192.168.1.21';\"/>
<input type=
\"button\" name=\"izmen\" class=\"buttons\" value=\"Изменить\" onclick=\"self.location.href='http://192.168.1.21/update_data.php';\"/>
<input type=
\"button\" name=\"new\" class=\"buttons\" value=\"Добавить\" onclick=\"self.location.href='http://192.168.1.21/insert.php';\"/>
<input type=
\"button\" name=\"удалить\" class=\"buttons\" value=\"Удалить\" onclick=\"self.location.href='http://192.168.1.21/del_data.php';\"/>
<input type=
\"button\" name=\"поиск\" class=\"buttons\" value=\"Поиск\" onclick=\"self.location.href='http://192.168.1.21/search.php';\"/>
</td>
\n";

for($i = 0; $i < $num; $i++)
{
echo "<tr>
<td bgcolor=
\"ededed\">".$postrow[$i]['nomer']."</td>
<td bgcolor=
\"ffffff\">".$postrow[$i]['time']."</td>
<td bgcolor=
\"ededed\">".$postrow[$i]['na_kogda']."</td>
<td bgcolor=
\"ffffff\">".$postrow[$i]['gotovnost']."</td>
<td bgcolor=
\"ededed\">".$postrow[$i]['firma']."</td>
<td bgcolor=
\"ffffff\">".$postrow[$i]['adress']."</td>
<td bgcolor=
\"ededed\">".$postrow[$i]['imya']."</td>
<td bgcolor=
\"ffffff\">".$postrow[$i]['tel']."</td>
<td bgcolor=
\"ededed\">".$postrow[$i]['ves']."</td>
<td bgcolor=
\"ffffff\">".$postrow[$i]['kuda']."</td>
<td bgcolor=
\"ededed\">".$postrow[$i]['oplata']."</td>
<td bgcolor=
\"ffffff\">".$postrow[$i]['primechaniya']."</td>
<td bgcolor=
\"ededed\">".$postrow[$i]['prinyal']."</td>
<td bgcolor=
\"ffffff\">".$postrow[$i]['kurier']."</td></tr>

</tr>"
;
}
echo "</table>";

// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
echo "<br> <input type=\"button\" name=\"nazad\" class=\"buttons\" value=\"На главную\" onclick=\"self.location.href='http://192.168.1.21';\"/>
<input type=
\"button\" name=\"izmen\" class=\"buttons\" value=\"Изменить\" onclick=\"self.location.href='http://192.168.1.21/update_data.php';\"/>
<input type=
\"button\" name=\"new\" class=\"buttons\" value=\"Добавить\" onclick=\"self.location.href='http://192.168.1.21/insert.php';\"/>
<input type=
\"button\" name=\"удалить\" class=\"buttons\" value=\"Удалить\" onclick=\"self.location.href='http://192.168.1.21/del_data.php';\"/>
<input type=
\"button\" name=\"поиск\" class=\"buttons\" value=\"Поиск\" onclick=\"self.location.href='http://192.168.1.21/search.php';\"/>
</td>
\n";
?>

Как можно перевернуть формат даты в ЧЧ-ММ-ГГГГ ЧЧ-ММ-СС?
или в mysql текущую дату можно загонять какой-то друго функцией?
Спасибо.



Спустя 9 минут, 42 секунды (16.01.2012 - 13:30) Winston написал(а):
SELECT DATE_FORMAT(`date`, '%d-%m-%Y %H:%i:%s') as `formatDate` ...

Спустя 50 минут, 51 секунда (16.01.2012 - 14:21) WisesT написал(а):
простите и как это впилить комне?..

Спустя 22 минуты, 45 секунд (16.01.2012 - 14:44) Winston написал(а):
$result = mysql_query("SELECT *, DATE_FORMAT(`time`, '%d-%m-%Y %H:%i:%s') as `formatTime` FROM zakazy LIMIT $start, $num");  

А вывод потом, вместо $postrow[$i]['time'] пиши $postrow[$i]['formatTime']

Спустя 7 минут, 21 секунда (16.01.2012 - 14:51) WisesT написал(а):
Спасибо!

Спустя 3 дня, 21 час, 24 минуты, 10 секунд (20.01.2012 - 12:15) kksw написал(а):
Здравствуйте, решил написать здесь, что бы не создавать тему.
У меня такая же проблема: в таблице поле data тип DATE

$res = mysql_query("SELECT *, DATE_FORMAT(`data`, '%d.%m.%y ') AS `formatdata` FROM stata ORDER BY id DESC LIMIT $myrow1[st]", $db);
if (!$res){echo "Ошибка. Запрос не прошёл.";
exit (mysql_error());
}
echo "<div id='stata'><table width='800' border=0 align='center'>\n";

while ($myrow = mysql_fetch_row($res))
{
printf ("<tr><td width='100'align='left'>%s</td> <td width='10'align='left'>%s</td> <td width='360'align='left'>%s</td>
<td width='80'align='left'>%s</td> <td width='10'align='left'>%s</td> <td width='10'>%s</td></tr>"
,
$myrow['1'],$myrow['2'],$myrow['3'],$myrow['4'],$myrow['5'],$myrow['6']);
}
echo "</table></div>\n";


при таком коде дата все равно выводится в виде 2012-01-20
а хотелось бы 20.01.12
подскажите что не так !


Спустя 2 часа, 34 минуты, 26 секунд (20.01.2012 - 14:49) inpost написал(а):
echo '<pre>'.print_r($myrow,1).'</pre>';

Внутри условия добавь и посмотри, какой номер у твоего `formatdata`, может быть 7-ой?! А ты его не выводишь.
А вообще, на твоём бы месте я бы пользовался вместо printf - echo, а вместо fetch_row -> fetch_assoc()

Спустя 1 час, 25 минут, 57 секунд (20.01.2012 - 16:15) kksw написал(а):
Цитата (inpost @ 20.01.2012 - 16:49)
echo '<pre>'.print_r($myrow,1).'</pre>';

Внутри условия добавь и посмотри, какой номер у твоего `formatdata`, может быть 7-ой?! А ты его не выводишь.
А вообще, на твоём бы месте я бы пользовался вместо printf - echo, а вместо fetch_row -> fetch_assoc()

номер у даты 1, она выводится но в в виде 2012-01-20
а как сделать по другому я не знаю

Спустя 2 минуты, 6 секунд (20.01.2012 - 16:18) Winston написал(а):

Спустя 25 минут, 43 секунды (20.01.2012 - 16:43) kksw написал(а):
Цитата (Winston @ 20.01.2012 - 18:18)
kksw
http://phpforum.ru/index.php?showtopic=21916

Вот на этом СПАСИБО, доходчивее еще ни кто не обьяснял user posted image , коротко и ясно.
теперь код имеет такой вид и все работает (дата перевернулась и стала 20.01.12)
$res = mysql_query("SELECT *, DATE_FORMAT(`data`, '%d.%m.%y ') as `formatdata` FROM stata ORDER BY data DESC LIMIT $myrow1[st]", $db);
if (!$res){echo "Ошибка. Запрос не прошёл.";
exit (mysql_error());
}
$table = "<div id='stata'><table width='800' border=0 align='center'>\n";
while ($row = mysql_fetch_assoc($res))
{
$table .= "<tr>\n";

$table .= "<td>".$row['formatdata']."</td>\n";
$table .= "<td>".$row['vids']."</td>\n";
$table .= "<td>".$row['marh']."</td>\n";
$table .= "<td>".$row['fora']."</td>\n";
$table .= "<td>".$row['chet']."</td>\n";
$table .= "<td>".$row['wek']."</td>\n";

$table .= "</tr>\n";
}

$table .= "</table>\n";

// Выводим заполненую таблицу на экран
echo $table;


Быстрый ответ:

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