Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как вывести несколько записей с одной категории
 
 автор: Rozha   (27.07.2008 в 14:42)   письмо автору
 
 

Структура таблици такая.
id_news_global | category | title | description | body | image_m | image_b | date
1........................... |1...............|........| ..................... |......... | ....................| ..................|........
2 .......................... |1...............|........| ..................... |......... | ....................| ..................|........
3........................... |2 ..............|........| ..................... |......... | ....................| ..................|........
4........................... |1 ..............|........| ..................... |......... | ....................| ..................|........
5 ...........................|2 ..............|........| ..................... |......... | ....................| ..................|........
6........................... |1 ..............|........| ..................... |......... | ....................| ..................|........

Как вывести по две записи с каждой категории (желательно чтобы с каждой категории записи выбирались в разброс т.е в первый запрос допустим для категории 1 выбрались записи 2,4 а во второй раз 4,2).
Нужен SQL запрос

  Ответить  
 
 автор: Rozha   (30.07.2008 в 03:14)   письмо автору
 
   для: Rozha   (27.07.2008 в 14:42)
 

Вот сделал что мог, правда под другую таблицу и задача немного иная.

//Создаем временную таблицу и заливаем туда то количество данных которое нам необходимо
"CREATE TEMPORARY TABLE tmp_news_global SELECT id_news_global, title, description, image_m, date FROM news_global ORDER BY date DESC LIMIT 0,9
//Выбираем данные из временной таблици рандомом
"SELECT * FROM tmp_news_global ORDER BY rand() LIMIT 0, 3"
//Удаляем временную таблицу
"DROP TABLE tmp_news_global"


Сервак грузит. Если можно это сделать проще буду благодарен.

  Ответить  
 
 автор: ronin   (30.07.2008 в 19:16)   письмо автору
 
   для: Rozha   (30.07.2008 в 03:14)
 

Может, что-то такого плана?

$res = mysql_query("SELECT * FROM news_global    group by category ORDER BY RAND() " );
  while($p = mysql_fetch_array($res) )
     {

$result = mysql_query("SELECT  * FROM  news_global  WHERE category=$p[category] LIMIT 2" );
 
  while($s = mysql_fetch_array($result) )
     {
   echo $s[title].$s[category]."<br>";
       }
    }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования