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

Корректный вывод значений из бд

16.03.2014, 23:26. Показов 1257. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер добрый!
Не могу правильно вывести значения из БД.
Суть задачи такова: есть 3 строки с 3 полями (anons1, anons2, anons3), в которых содержится текст в виде :
16.03 15:00 - текст, где 16.03 это дата, которая сравнивается с текущей при выборке и 15:00 время, которое используется для сортировки.

Написал такой код:
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
38
39
40
<?php
date_default_timezone_set('Europe/Simferopol');
$hour = date("H:i");
$date = date("d.m");
 
include_once('radio/dbconfig.php');
?>
<div style="color: #ffffff; padding: 50px 100px;">
<?
$query = mysql_query("SELECT anons1 FROM `program`  where (locate('$date',anons1)>0) order by `anons1` asc");
 for ($n=0; $n<mysql_num_rows($query);$n++)
         {
     $row4 = @mysql_fetch_array($query);
  $j=$n+1;
  
    $an1 = $row4['anons1'];
echo "$an1<br />";
}
 
$query2 = mysql_query("SELECT anons2 FROM `program`  where (locate('$date',anons2)>0) order by `anons2` asc");
 for ($n=0; $n<mysql_num_rows($query2);$n++)
         {
     $row4 = @mysql_fetch_array($query2);
  $j=$n+1;
  
    $an2 = $row4['anons2'];
echo "$an2<br />";
}
 
$query3 = mysql_query("SELECT anons3 FROM `program`  where (locate('$date',anons3)>0) order by `anons3` asc");
 for ($n=0; $n<mysql_num_rows($query3);$n++)
         {
     $row4 = @mysql_fetch_array($query3);
  $j=$n+1;
  
    $an3 = $row4['anons3'];
echo "$an3<br />";
}
?>
</div>
Выводит все что нужно и отсеивает ненужные строки с неподходящей датой.
Однако, т.к. реализация идет тремя выборками, то и значения записываются поочередно.
Тобишь получается, что сначала сортирует по $an1, затем по $an3 и после по $an3.
А нужно, чтобы это все совмещалось между собой, получая ровный график.

Помогите с этой задачей, заранее спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2014, 23:26
Ответы с готовыми решениями:

Корректный вывод данных из БД
Здравствуйте Моя проблемка заключается вот в чем: данные из БД выводятся вот в таком виде: а надо, чтобы выводились нормально...

Корректный вывод данных из парсера
&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;/&gt; &lt;/head&gt; &lt;body&gt; &lt;? include 'simple_html_dom.php'; // Create DOM...

Корректный вывод bb кодов из базы данных
Всем доброго вечера. Встретился я с одной проблемой, с выводом bb кодов из базы, то есть когда я вношу какие либо теги (жирный, курсив,...

14
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.03.2014, 14:37
Если верно понял
MySQL
1
2
3
4
SELECT `anons1` , `anons2` , `anons3` FROM `program`  
where 
(locate('$date',anons1)>0) or (locate('$date',anons2)>0) or (locate('$date',anons3)>0) 
order by `anons1` , `anons2` , `anons3` asc
0
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 35
17.03.2014, 14:58  [ТС]
Меня больше интересует вывод, нежели выборка
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.03.2014, 16:00
Просто через echo
0
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 35
17.03.2014, 16:03  [ТС]
Просто? Выводит совсем левые значения.
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.03.2014, 16:41
Цитата Сообщение от VTrial Посмотреть сообщение
Просто? Выводит совсем левые значения.
Значит достаешь такие, составь запрос, который достанет нужные и будут выводиться нужные.
0
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 35
17.03.2014, 16:43  [ТС]
По моему запросу выводит то, что мне нужно, но поочередно. А мне необходимо смешать эти значения.
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.03.2014, 16:53
тоесть будто anons1, anons2 и anons3 это одно и тоже поле, а не 3?
0
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 35
17.03.2014, 16:54  [ТС]
это 3 разных поля
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.03.2014, 16:56
Тогда объясните на примере, а то я не понимаю
0
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 35
17.03.2014, 17:10  [ТС]
вот вывод
-anons1 -
17.03 14:00 - kjjjjjjj
17.03 16:00 - Анатолий Радлинский - Зачем людям зубы.

-anons2 -
17.03 15:00 - Bkhgasd
17.03 17:00 - Иван Мазепа - Как я попал на десятигревую купурю. (Мастеркласс)

А мне необходимо, чтобы они выглядели так:

17.03 14:00 - kjjjjjjj
17.03 15:00 - Bkhgasd
17.03 16:00 - Анатолий Радлинский - Зачем людям зубы.
17.03 17:00 - Иван Мазепа - Как я попал на десятигревую купурю. (Мастеркласс)
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.03.2014, 17:14
Но на каждую запись будет по 3 поля, какой анонс2 у поля где анонс1 = "kjjjjjjj"? И почему он не выводится рядом?
0
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 35
17.03.2014, 17:19  [ТС]
- строка 1 -
17.03 16:00 - Анатолий Радлинский - Зачем людям зубы.------------------------------------------(анонс1)
17.03 17:00 - Иван Мазепа - Как я попал на десятигревую купурю. (Мастеркласс)---------------- (анонс2)
18.03 18:00 - Йосиф Сталин - Мой первый гулаг. --------------------------------------------- ----(анонс3)

- строка 2 -
17.03 14:00 - kjjjjjjj
17.03 15:00 - Bkhgasd
18.03 17:00 - ahsdhakygsd
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.03.2014, 17:30
Лучший ответ Сообщение было отмечено VTrial как решение

Решение

Все, теперь вроде понял. Кто придумал именно так хранить данные?))
Вам нужно достать данные через union
MySQL
1
2
3
4
5
6
SELECT anons1 as `TotalAnons` FROM `program`  where (locate('$date',anons1)>0) 
union
SELECT anons2 FROM `program`  where (locate('$date',anons2)>0)
union
SELECT anons3 FROM `program`  where (locate('$date',anons3)>0)
order by `TotalAnons` ASC
Добавлено через 1 минуту
Выберутся анонсы1 в пачку "TotalAnons", затем туда добавятся нужные анонсы2 и анонсы 3, а затем отсортируем нашу пачку TotalAnons
1
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 35
17.03.2014, 17:38  [ТС]
А все, спасибо большое, вроде выводит как надо. Про юнион не в курсе был.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.03.2014, 17:38
Помогаю со студенческими работами здесь

Не корректный вывод
Всем привет. Столкнулся с такой проблемой, что при пробеге цикла первый раз пробегает впустую без возможности ввода, а дальше всё работает...

Не корректный вывод
В php я новичок, суть проблемы в том что выводит не правильно Вот мой код: &lt;?php $guess1 = 1; print &quot;fff:$guess1&quot;; ...

Не корректный вывод
В выводе не хватает символов, которые я ввел в тексте программы и еще почему то подсвечивается ошибкой последняя бэкслэш строки 12.

Не корректный вывод данных
#include &lt;iostream&gt; using namespace std; int main() { setlocale( LC_ALL, &quot;Russian&quot; );

Не корректный вывод кириллицы
привет, народ Столкнулся с такой проблемой. приложение клиент - сервер. отправляю серверу так char message =...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru