Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
1

Вывод даты в таблицу PHP

21.04.2016, 11:23. Показов 1946. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день вот столкнулся с проблемой вывода даты в таблицу PHP

На главной странице есть PHP скрипт вывода даты
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
       
    // SQL-запрос
        $SQL1 = "SELECT * FROM `id`  `date`.... limit 10";
          
    // Выполнить запрос (набор записей $rs содержит результат)
    $rs1 = mysql_query($SQL1);
   
    // Цикл по набору записей $rs
        
    $t1 = array();
         
    while($row1 = mysql_fetch_assoc($rs1)) {
 
     $t1[] = $row1['date'];
     
                }
 
    ?>
В нужном мне месте я вставляю
PHP
1
<?php echo join("<br>", $t1);?>
Вывод происходит вот в таком формате

Дата
2016-04-21 22:08:07
2016-04-20 21:39:00
2016-04-10 21:16:14
и так дальше до 10

А мне нужно преобразовать дату вот в таком формате


Дата
Сегодня 22:08:07
Вчера 21:39:00
10 Апреля 21:16:14
и так дальше до 10





В интернете нашел вот такую функцию которую внедрил в function.php
PHP
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
29
30
31
32
33
34
35
36
37
function data_form($string) {
     $monn = array(
       '',
       'января',
       'февраля',
       'марта',
       'апреля',
       'мая',
       'июня',
       'июля',
       'августа',
       'сентября',
       'октября',
       'ноября',
       'декабря'
     );
     //Разбиваем дату в массив
     $a = preg_split("/[^\d]/",$string); 
     $today = date('Ymd');
     if(($a[0].$a[1].$a[2])==$today) {
       //Если сегодня
       return("Сегодня ".$a[3].":".$a[4]);
       
     } else {
       $b = explode("-",date("Y-m-d"));
       $tom = date("Ymd",mktime(0,0,0,$b[1],$b[2]-1,$b[0]));
       if(($a[0].$a[1].$a[2])==$tom) {
         //Если вчера
         return("Вчера ".$a[3].":".$a[4]);
         
       } else {
         //Если позже
         $mm = intval($a[1]);
         return($a[2]." ".$monn[$mm]." ".$a[0]." ".$a[3].":".$a[4]);
       }
     }
   }

Только как теперь мне внедрить в мой скрипт на главной странице не могу понять.
Подскажите как реализовать вывод корректной даты ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2016, 11:23
Ответы с готовыми решениями:

Вывод даты php + MsSQL
Доброго времени суток! Второй день осваиваю php. Столкнулся с такой проблемой. $sql = &quot;select...

PHP и MSSQL вывод русской даты
Всем добрый день. Я гружу данные с сервера MSSQL на страницу с помощью функций mysql_fetch_assoc....

Вывод даты в таблицу
Здравствуйте. Требуется сделать вывод даты на таблицу (при нажатии кнопки). В программе...

Вывод событий сегодняшней даты в таблицу
Нужно вывести в таблицу события сегодняшнего дня.

10
pl
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
21.04.2016, 12:49 2
Рекомендую почитать что такое функции и как они работают. После этого сможете внедрить самостоятельно.
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
21.04.2016, 13:23  [ТС] 3
pl, уже какой день ковыряю но знаний не так много, прошу направить на верный результат.
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
21.04.2016, 20:32 4
Подключаете этот скрипт себе на страницу
PHP
1
include "название файла где функция data_form.php";
Вызываете функцию с параметром даты
PHP
1
echo data_form("2016.04.19 12:12");
1
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
21.04.2016, 21:35  [ТС] 5
Цитата Сообщение от Azdeman Посмотреть сообщение
Подключаете этот скрипт себе на страницу
На главной странице подключены
PHP
1
2
3
4
5
<?php
    include ("include/config.php");
    include ("include/select.php");
    include ("include/function.php");
?>
Дальше у меня
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
       
    // SQL-запрос
        $SQL1 = "SELECT * FROM `id`  `date`.... limit 10";
          
    // Выполнить запрос (набор записей $rs содержит результат)
    $rs1 = mysql_query($SQL1);
   
    // Цикл по набору записей $rs
        
    $t1 = array();
         
    while($row1 = mysql_fetch_assoc($rs1)) {
 
     $t1[] = $row1['date'];
     
                }
 
    ?>
С выводом

PHP
1
<?php echo join("<br>", $t1);?>
$t1- вот выводит дату


Вот это не понял
Цитата Сообщение от Azdeman Посмотреть сообщение
Вызываете функцию с параметром даты
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
21.04.2016, 22:21 6
Лучший ответ Сообщение было отмечено xanter1984 как решение

Решение

Цитата Сообщение от xanter1984 Посмотреть сообщение
Вот это не понял
Ну аргумент .. в скобках который.
В общем вот так:
PHP
1
2
3
4
5
6
7
8
9
$t1 = [
       "2016.04.20 12:12",
       "2016.04.21 12:12",
       "2016.04.20 12:12",
       "2016.04.20 12:12"
        ]; //массив дат из бд.
    foreach($t1 as $v){
        echo $v.' '.data_form("$v")."<br/>";
    }
1
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
22.04.2016, 00:48  [ТС] 7
Цитата Сообщение от Azdeman Посмотреть сообщение
Ну аргумент .. в скобках который.
В общем вот так:
Прошу прощение но чет не выходит ошибки выдает
Warning: Invalid argument supplied for foreach() in

Вот что я подставляю

PHP
1
2
3
4
5
6
    while($row1 = mysql_fetch_assoc($rs1)) {
 
     $t1 = $row1['date']; //массив дат из бд.
    foreach($t1 as $v){
        echo $v.' '.data_form("$v")."<br/>";
    }
А в функции тоже ведь свое нужно ставить ?
Если да то что менять ? Чет я запутался совсем
0
pl
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
22.04.2016, 08:21 8
Я еще раз очень рекомендую почитать что такое функция и как она работает. Очевидно что вы не знаете базовых принципов программирования и пытаетесь сделать что-то методом "тыка". Возьмите любой учебник по программированию (не обязательно по PHP), бумажный или электронный, можно в интернете найти множество руководств для начинающих.
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
22.04.2016, 09:18 9
Лучший ответ Сообщение было отмечено xanter1984 как решение

Решение

PHP
1
2
3
while($row1 = mysql_fetch_assoc($rs1)) {
        echo $row1['date']. '  ' .data_form($row1['date'])."<br/>";
    }
1
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
22.04.2016, 13:17  [ТС] 10
Цитата Сообщение от Azdeman Посмотреть сообщение
PHPВыделить код
1
2
3
while($row1 = mysql_fetch_assoc($rs1)) {
* * * * echo $row1['date']. ' *' .data_form($row1['date'])."<br/>";




* * }
МММ спасибо огромное оказалось все намного проще. Первый Ваш пост меня просто запутал. Решение найдено всем спасибо
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
22.04.2016, 15:17 11
Цитата Сообщение от xanter1984 Посмотреть сообщение
Первый Ваш пост меня просто запутал
Подучите основы php
php.net
и не будет вас такое запутывать.
0
22.04.2016, 15:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2016, 15:17
Помогаю со студенческими работами здесь

Php вывод даты и времени
На сайте есть php вывод даты и времени. Одна проблема - время забегает вперед на целый час....

Вывод даты/времени в PHP
Добрый день, подскажите вывожу время вот таким способом echo gmdate(&quot;H:i:s&quot;) но выдает на 6 часов...

Вывод во временную таблицу значений системной даты и времени в столбец Х
Задание: Выведите во временную таблицу значение системной даты и времени в столбец Х Правильно ли...

Проверка даты и вывод результата PHP
Ребят, есть вопрос. Провожу примитивную проверку даты, после ввода таковой. 1 - вводим две даты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru