Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 31.03.2020
Сообщений: 29

Вывод данных в цикле (всех дней, но в каждом дне несколько записей)

01.10.2020, 02:48. Показов 1311. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые пользователи.
Возник вопрос

Есть таблица, в нее идёт запись некой информации.
Допустим id, name, date, status

В ячейку дата записывается информация вида (2020-10-01) - ячейка естественно с параметром "date"

Я делаю запрос
PHP
1
$result = $mysqli->query("SELECT * FROM statistic WHERE date BETWEEN '2020-01-01' AND LAST_DAY('2020-12-31') ORDER BY date DESC");
В цикле вывожу информацию только за 2020 год.
Т.е. пример:

1: Имя, Статус ON, 2020-10-01
3: Имя, Статус ON, 2020-10-01
4: Имя, Статус OFF, 2020-10-01
5: Имя, Статус OFF, 2020-09-30
6: Имя, Статус OFF, 2020-09-30
7: Имя, Статус ON, 2020-09-30
8: Имя, Статус OFF, 2020-09-30

Так вот, вопрос заключается в следующем.
Возможно ли вывести информацию следующем виде

Дата: 2020-10-01
1: Имя, Статус ON
2: Имя, Статус ON
3: Имя, Статус OFF
Дата: 2020-09-30
5: Имя, Статус OFF
6: Имя, Статус OFF
.......

Т.е. в дате, я заголовком указываю что этого числа допустим 4 записи
Ниже показываю эти записи

При этом на каждую Дату не нужно делать отдельный SELECT FROM бла бла бла

Чтобы в цикле было возможно условие, если дата следующий записи совпадает, то не показыть дату.
Может перед циклом пустой массив сделать, в цикле добавлять + значение.

В общем такие дела. Мозги плохо соображают буду рад любой идеи!
Заранее благодарю!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2020, 02:48
Ответы с готовыми решениями:

выборка за 5 дней + вывод всех записей на дату
Доброго дня. Подскажите пожалуйста. Есть база. там 3 колонки. ИД | ДАТА | ИМЯ Тип даты timestamp, такого формата: 2015-12-09 22:08:40 ...

Вывод данных о Дне рождения
Всем привет. Что-то совсем затупил и не могу сообразить как сделать уведомление в скрипте. Смысл в том, что есть список пользователей в БД....

Вывод всех записей из БД и передача этих данных JS-скрипту
ПОМОГИТЕ ПОЖАЛУЙСТА! есть вот такой вывод php <?php $sql = 'SELECT * FROM statist WHERE user_id = '.$us_id.' order by id DESC'; ...

2
Невнимательный
 Аватар для ft4l
3112 / 1291 / 359
Регистрация: 08.02.2013
Сообщений: 7,566
Записей в блоге: 2
01.10.2020, 08:38
Bash
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
cat <<\x | /c/t/usr/php74/php
 
<?php
$rows = explode("\n", '1: Имя, Статус ON, 2020-10-01
3: Имя, Статус ON, 2020-10-01
4: Имя, Статус OFF, 2020-10-01
5: Имя, Статус OFF, 2020-09-30
6: Имя, Статус OFF, 2020-09-30
7: Имя, Статус ON, 2020-09-30
8: Имя, Статус OFF, 2020-09-30');
 
$tmp=NULL;
while(count($row = preg_split('/[:,]\s*/', array_shift($rows)))>1) {
   if ($tmp != $row[3]) {
      echo (($tmp === null)? '': "\t</ul>\n</li>\n"), "<li><b>{$row[3]}</b>\n\t<ul>\n";
      $tmp = $row[3];
   }
   echo "\t\t<li><u>", implode('</u><u>', $row), "</u></li>\n";
}
if ($tmp) echo "\t</ul>\n</li>\n";
x
 
<li><b>2020-10-01</b>
        <ul>
                <li><u>1</u><u>Имя</u><u>Статус ON</u><u>2020-10-01</u></li>
                <li><u>3</u><u>Имя</u><u>Статус ON</u><u>2020-10-01</u></li>
                <li><u>4</u><u>Имя</u><u>Статус OFF</u><u>2020-10-01</u></li>
        </ul>
</li>
<li><b>2020-09-30</b>
        <ul>
                <li><u>5</u><u>Имя</u><u>Статус OFF</u><u>2020-09-30</u></li>
                <li><u>6</u><u>Имя</u><u>Статус OFF</u><u>2020-09-30</u></li>
                <li><u>7</u><u>Имя</u><u>Статус ON</u><u>2020-09-30</u></li>
                <li><u>8</u><u>Имя</u><u>Статус OFF</u><u>2020-09-30</u></li>
        </ul>
</li>
вместо этого while(count($row = просто while($row = mysqli_fetch_(row/assoc)
вместо <u> что-то ещё или вообще никаких implode ))
0
1311 / 1003 / 232
Регистрация: 01.10.2018
Сообщений: 3,901
01.10.2020, 09:57
Лучший ответ Сообщение было отмечено SeregaNet как решение

Решение

Как выводить месяцы в бд

Добавлено через 5 минут
Зачем нужна LAST_DAY() в данном случае?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2020, 09:57
Помогаю со студенческими работами здесь

На каждом следующем дне рождения
На каждом следующем дне рождения Винни – Пух съедает столько же пищи, сколько на двух предыдущих. На двух первых днях рождения у Пяточка и ...

Из всех записей вывод записей с сегодняшней датой
sql запрос который из всех дат выбирает сегодняшнюю к примеру столбец дат: 27.11.2018 |День рождения Иванова 25.10.2018 |День...

Из всех записей вывод записей с сегодняшней датой
Есть таблица на SQL Server (смотрите рисунок какая) Нужно чтоб показывало чье сегодня др или какой прздник (смотрите другой скрин) ...

Переход по записям в цикле. Вывод записей
Здравствуйте. Имеется база данных из 3-х таблиц: студент, группа, стипендия. Необходимо в обычный СтрингГрид вывести название группы, ФИО...

Определить сколько дней в году (всего 12 месяцев, в каждом есть определенное количество дней)
Помогите решить задачу пожалуйста


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru