Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Помогите сосотавить запрос


Автор: feosr 26.8.2008, 11:26
Собственно есть 4 раздела. Есть таблица с товарами. (ID, title, descrip ,price, addtime, section)

Необходимо выводить по 3 последних товара на раздел.

Я могу это сделать лиш 4-мя запросами что неочень то удобно.... Как лучше сделать? Может есть что-то подобное готовое?

сохранять структуру необязательно, мне надо хоть какнить сделать...

Автор: piflit 28.8.2008, 14:47
SELECT * FROM tbl WHERE section = 'razdel' ORDER BY addtime DESC LIMIT 3

Автор: skyboy 28.8.2008, 19:14
Цитата(piflit @  28.8.2008,  13:47 Найти цитируемый пост)
Код
SELECT * FROM tbl WHERE section = 'razdel' ORDER BY addtime DESC LIMIT 3

piflit, твой запрос вернет три последних добавленных записи. не "по три на каждый раздел".

Автор: HackMan 29.8.2008, 02:25
Составляй запрос в цикле с помощью UNION

Что-то вроде
Код

$sections = array('a', 'b', 'c', 'd');
$section = array_shift($sections);

$query = "SELECT * FROM tbl WHERE section='" . mysql_real_escape_string($section) . "' ORDER BY addtime DESC LIMIT 3";

foreach ($sections as $section)
  {
     $query .= " UNION SELECT * FROM tbl WHERE section='" . mysql_real_escape_string($section) . "' ORDER BY addtime DESC LIMIT 3";
  }

$result = mysql_query($query);

Автор: piflit 29.8.2008, 19:28
тогда только через юнион

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)