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

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

16.03.2014, 23:26. Показов 1251. Ответов 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,844
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,844
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,844
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,844
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,844
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,844
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,844
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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru