Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129

Как соединить запросы к БД

08.09.2014, 21:08. Показов 1200. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Есть некий код 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
<?php
                $num = 3;
                $page = $_GET['page'];
                $result = mysql_query("SELECT COUNT(*) FROM data");
                $temp = mysql_fetch_array($result);
                $posts = $temp[0];
                $total = (($posts - 1) / $num) + 1;
                $total =  intval($total);
                $page = intval($page);
                if(empty($page) or $page < 0) $page = 1;
                if($page > $total) $page = $total;
                $start = $page * $num - $num;
                $query = mysql_query("SELECT * FROM data ORDER BY id DESC LIMIT $start, $num");
                $data = mysql_fetch_array($query);
                do{
                    printf("
                        <div class='right-cell'> 
                            <div style='min-width:500px;' class='right-content-up'>     
                                <div class='p5'>
                                    <div class='round'>
                                        <center>
                                            <H4 class='top-denatation'><b>%s</b></H4>
                                        </center>
                                        <div align='left' class='p3'>
                                            %s<a href='post.php?id=%s'> Подробнее...</a>
                                        </div>
                                        <p align='right' class='p3'>Добавлено:<Font color=#0000CC>%s</font></p>
                                    </div>  
                                </div>
                            </div>
                        </div>", $data["header"],$data["m_desc"],$data["id"],$data["date"] );
                    }
                    while ($data = mysql_fetch_array($query));          
            ?>
Хочу подключить к нему рейтинг.Запрос к БД и вывод рейтинга в котором выглядит следующим образом:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
                if(!isset($_GET["id"])){
                    $id = 1;
                }
                else{
                    $id = $_GET["id"];
                }
                if ($id != 1) $firstpage = ($id - 1);
                $result = mysql_query("SELECT data.*, AVG(votes.rating) AS rating
            FROM data
            LEFT JOIN votes
            ON data.id = votes.post
            WHERE data.id = {$id}
        ")or die(mysql_error());
                $data = mysql_fetch_array($result);
                do{
                printf("
                        <p align='left'><b>Рейтинг статьи:%s★/5★</b></p>
                    ",round($data['rating']));
                }
                while($data = mysql_fetch_array($result));
                ?>
Как соеденить эти два запроса в один.Просто суть в том,что в первом случае информация из базы данных выводится в обратном порядке.Как соеденить эти два запроса в таблицам в БД? Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2014, 21:08
Ответы с готовыми решениями:

Как правильно соединить запросы в одну табличку?
Привет) Очень срочная задача возникла! Значит есть 3 запроса: за день, за месяц, за год. По каждому получаем одинаковое кол-во столбцов, но...

Как в Access объединить запросы в один или вывести эти запросы в одном отчете и рассчитать по ним коэффициент?
Добрый день! Помогите разобраться. Есть у меня 5 запросов access, которые через долгие манипуляции все же вывели мне суммы, которые...

Как можно продиагностировать DNS запросы, включая обращения к кэшу, и сами запросы от DNS клиента к серверу?
Добрый день! Подскажите пожалуйста, каким образом можно в операционной системе MS Windows 7 продиагностировать DNS запросы, включая...

10
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
09.09.2014, 10:19
Плодим темы???
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
09.09.2014, 10:26  [ТС]
нет,на предыдущий вопрос решение есть, сейчас мне нужно соеденить запросы к БД,банальным ctrl+с и ctrl+v из фраз select * FROM и тд. не получается,помогите решить.Я искренне не знаю как реализовать это.Я не 'пложу' темы, эта тема отличается от предыдущей.Мне хочется соеденить запросы,вот и все.Заранее спасибо!
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
09.09.2014, 10:29
т.е. мой ответ в другой теме где этот запрос объединен Вас не устраивает???
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
09.09.2014, 10:55  [ТС]
Все устраивает,все красиво реализовано,но! Там все выводится на другой странице,там все хорошо,но на другой странице,мне нужно немного по-другому:чтобы выводилось все в обратном порядке. Может я не совсем понятно объясняю,то Вы напишите.Ваше решение очень хорошее,оно подходит и работает! Но, я хочу получить такое же хорошее решение,которой предложили Вы на дургой странице.
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
09.09.2014, 11:10
SQL
1
SELECT DATA.*, AVG(votes.rating) AS rating FROM DATA LEFT JOIN votes ON DATA.id = votes.post WHERE DATA.id = $id ORDER BY id DESC LIMIT $start, $num;
неужто это так сложно???
Прежде чем в следующий раз задавать такие простые вопросы, хотя бы загляните на страницу документации (благо у мускуля они неплохие и черз яндекс ищется то что нужно) и посмотрите про структуру запроса (в каком порядке какие слова должны идти)

Добавлено через 14 секунд
SQL
1
SELECT DATA.*, AVG(votes.rating) AS rating FROM DATA LEFT JOIN votes ON DATA.id = votes.post WHERE DATA.id = $id ORDER BY id DESC LIMIT $start, $num;
неужто это так сложно???
Прежде чем в следующий раз задавать такие простые вопросы, хотя бы загляните на страницу документации (благо у мускуля они неплохие и черз яндекс ищется то что нужно) и посмотрите про структуру запроса (в каком порядке какие слова должны идти)
1
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
09.09.2014, 11:32  [ТС]
Спасибо,но появляется ошибка. либо такая : если втавить все,что Вы написали в запрос:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in
А если добавить этот код
PHP
1
2
3
4
5
6
7
if(!isset($_GET["id"])){
                    $id = 1;
                }
                else{
                    $id = $_GET["id"];
                }
                if ($id != 1) $firstpage = ($id - 1);
То получается выводить только 1 статью,другие он просто не выводит.Извиняюсь ,что уже настолько туплю,и,возможно,просто вывожу Вас из себя,но я просто еще учусь,и в куче вещей я тормоз.Спасибо!
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
09.09.2014, 11:35
Уберите
Цитата Сообщение от Vas-e-na Посмотреть сообщение
SQL
1
WHERE DATA.id = $id
И последуйте моему совету
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
09.09.2014, 13:16  [ТС]
все равно остается такая же проблема - выводится только первая статья.Заранее спасибо!

Добавлено через 29 минут
На странице с одной статьей все выводится правильно,рейтинг для статьи сама статья - все соответствует друг другу.Но на странице,глде нужно показать несколько статей- не получается- выводится только 1 статья.Рейтинг для нее тоже соответвует ей,но нужно вывести все статьи из БД.
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
09.09.2014, 15:19
Лучший ответ Сообщение было отмечено paskalnikita как решение

Решение

SQL
1
SELECT DATA.*, AVG(votes.rating) AS rating FROM DATA LEFT JOIN votes ON DATA.id = votes.post GROUP BY DATA.id ORDER BY DATA.id DESC LIMIT $start, $num;
1
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
09.09.2014, 15:26  [ТС]
Спасибо большое!!! Теперь все работает! Спасибо Вам большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2014, 15:26
Помогаю со студенческими работами здесь

Как соединить 2 кода воедино или как хранить переменные в массиве?
Уважаемые форумчане, есть 2 кода, один умеет через меню выводить текст хранящийся в массиве(далее код1), а второй умеет получать текст с...

Как можно соединить нотпад++ с браузером как лайв отображение вёрстки?
http://www.youtube.com/watch?v=wCVwdvufTds как вот тут с вебштормом? какие плагины нуда найти?

Как соединить qt и C++ ?
создал очень простой калькулятор на C++ и хотел бы сделать такой же простой интерфейс для него . полазил в интернете сказали что лучше...

Как их соединить?
Доброго времени суток. Помогите пожалуйста по ниже указанной теме. Есть два офиса (кол-во компов в каждом, макс 15),расположение...

Как в blender соединить два меша как метабол
Есть два меша один я сделал а с другого я взял руку и надо соединить эти два меша как метабол например. Если бы две модели были четырех...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
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