Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Вопросы КЭПу » Правильный запрос в базу?

Правильный запрос в базу?


     22.02.2017    Вопросы КЭПу    805

вопрос
Доброго времени суток. Пытаюсь создать иузыкальный сайт. Скажу честно на продажу. Уже много сделано - категории - исполнители, альбомы и т.п. Может кто присоединиться для дальнейшей разработки? Против не буду.
Но вопрос не в этом. Подскажите гуру как вытащить данные . Отблагодарю javascript.
Суть. Хочу получить просмотры, рейтинг для всех новостей из категории.

		//Статистика Альбома // ;row -  категория и. т.п.
			$catid = $row['id'];

			$sql = 'p.id, e.news_id, SUM(e.news_read), SUM(e.rating), SUM(e.vote_num)';
			$result = $db->query("SELECT " . $sql . " FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE category = ".$catid."");

			while($row3 = $db->get_row()) {
				//print_r($row3);
				$summrating = $row3['SUM(e.rating)'];
				$summread = $row3['SUM(e.news_read)'];
				$summvote = $row3['SUM(e.vote_num)'];
				//Нравиться 
				$like = number_format(($summrating + (($summvote - $summrating)/2)), 0, '.', '');
				// Не нравиться
				$nolike  = number_format((($summvote - $summrating)/2), 0, '.', '');
				
				$tpl->set('{summrating}', $summrating);// Общий рейтинг
				$tpl->set('{summread}', $summread);// Общее количество посмоторов
				$tpl->set('{summvote}',$summvote);// Общее количество Выставвших рейтинг
				$tpl->set('{like}',$like);// Нравиться
				$tpl->set('{nolike}',$nolike);// Не нравиться
				

			
			}


В данной категрии в се делается, но есть запрс на подкатегории//. Вот здесь я что-то не правильго делаю. Подскажите что, буду премного благодарен.



			$selectRows = 'c.id, c.parentid, p.id, e.news_id, SUM(e.news_read), SUM(e.rating), SUM(e.vote_num)';
			$result = $db->query("SELECT " . $selectRows . " FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) LEFT JOIN " . PREFIX . "_category c ON (c.parentid=".$catid.")  WHERE category = c.id");

Помогите , если можете.


Ответил: КЭП


Правильный запрос в базу?

— Тогда мы идём к вам!

3 комментария

nowheremany
Эксперт

nowheremany - 22 февраля 2017 13:46 -

Если вы хотите вывести новости из категории + подкатегории, то вытащите всех детей из $cat_info а в запросе укажите вмеcто "=" "in(...)"

Благодарность принимаю тут Связь

lehasta
Юзер

lehasta - 26 февраля 2017 08:02 -

С прошедшим праздником. Но если я потяну из $cat_info, то получается я вытягиваю массив всех категорий? А если мне надо вытянуть допустим условный рейтинг (просмотры и т. п.) определенных? Т.е. получается - я делаю запрос в базу, где допустим 300 категорий, например. Получается нагружаю базу? И насколько я понимаю очень сильно... или я не прав?
Допустим - типа главная - тут - 20 (условно исполнителей), но они находятся в другой категори, а тут я их просто вытаскиваю через указание категории. (в которой есть подкатегории с исполнителями).. может косноязычно выразился, но вот так как-то...

nowheremany
Эксперт

nowheremany - 26 февраля 2017 13:35 -

Без разницы сколько категорий вы выбираете в запросе - главное, сколько вы выведите через LIMIT

Благодарность принимаю тут Связь

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх