Извеждане на резултати от база данни

kitchenbg

Registered
Привет, искам да направя следното нещо ... имам база данни в която са записани категории и съответно неща които съответстват на категориите ... та мисълта ми е как да стане така че на страницата да излизат примерно 2 от категориите със по 3 записа от всяка категория?
 
Мисля че авторът иска LIMIT 3, но за всяка категория.
Може да се постигне като вземеш категориите с една заявка и след това за всяка категория се вземат последните 3 новини в loop, но това е лош вариант. И мен ме интересува как може да се реши този проблем...
 
djman каза:
Мисля че авторът иска LIMIT 3, но за всяка категория.
Може да се постигне като вземеш категориите с една заявка и след това за всяка категория се вземат последните 3 новини в loop, но това е лош вариант. И мен ме интересува как може да се реши този проблем...

Moже аз да не те разбирам правилно но горния код вади по три резултата от всяка категория а не три общо.
 
До автора: Приятел, виж сега, не си измислил нищо, което някой от нас не е виждал. Апък може и да си, но щом се запъваш с нещо толкова елеметарно - едва ли. Дай структурата на таблиците, да ти кажат пичовете заявтката и да ти я обяснят. Иначе ще напълним поста с 4 страници с питания и накрая пак няма да ти върши работа кода и съветите, които ти даваме - защото ние не знам какво искаш и как си структурирал нещата и т.н. Сеш'се ? Айде дай структурата на таблиците и да видим твоя опит за изкарване - какво си направил . И ако даваш някакви дълги кодове иползвай pastebin.com или някой такъв сайт, недей да хакаш целия код тука - трудно се чете и някой няма да си направи труда да ти отговори :) :idea: :?:
 
joTunkiq каза:
До автора: Приятел, виж сега, не си измислил нищо, което някой от нас не е виждал. Апък може и да си, но щом се запъваш с нещо толкова елеметарно - едва ли. Дай структурата на таблиците, да ти кажат пичовете заявтката и да ти я обяснят. Иначе ще напълним поста с 4 страници с питания и накрая пак няма да ти върши работа кода и съветите, които ти даваме - защото ние не знам какво искаш и как си структурирал нещата и т.н. Сеш'се ? Айде дай структурата на таблиците и да видим твоя опит за изкарване - какво си направил . И ако даваш някакви дълги кодове иползвай pastebin.com или някой такъв сайт, недей да хакаш целия код тука - трудно се чете и някой няма да си направи труда да ти отговори :) :idea: :?:

:)
Оправих се, а и смятам че много добре се изразих в поста си!
Имам две таблици в едната са категориите с разни обяснения и структура на таблицата
Код:
`id` ,
  `title` ,
  `desc` ,
  `reg_date`
,
а в другата се записват артикули и структура на таблицата
Код:
`id` ,
  `idcat`,
  `photo`

Все пак чета, и не пиша нещата наизуст, просто исках код, какъвто и да е за да ме ориентирате!
 
teroristd каза:
Moже аз да не те разбирам правилно но горния код вади по три резултата от всяка категория а не три общо.

Не те разбирам. Твоята заявка ще изкара максимум 3 резултата с полетата category1, category2. А целта е от всяка категория да се изкарат по 3 записа, асоциирани с нея.

@kitchenbg, как се оправи?
 
kitchenbg каза:
joTunkiq каза:
До автора: Приятел, виж сега, не си измислил нищо, което някой от нас не е виждал. Апък може и да си, но щом се запъваш с нещо толкова елеметарно - едва ли. Дай структурата на таблиците, да ти кажат пичовете заявтката и да ти я обяснят. Иначе ще напълним поста с 4 страници с питания и накрая пак няма да ти върши работа кода и съветите, които ти даваме - защото ние не знам какво искаш и как си структурирал нещата и т.н. Сеш'се ? Айде дай структурата на таблиците и да видим твоя опит за изкарване - какво си направил . И ако даваш някакви дълги кодове иползвай pastebin.com или някой такъв сайт, недей да хакаш целия код тука - трудно се чете и някой няма да си направи труда да ти отговори :) :idea: :?:

:)
Оправих се, а и смятам че много добре се изразих в поста си!
Имам две таблици в едната са категориите с разни обяснения и структура на таблицата
Код:
`id` ,
  `title` ,
  `desc` ,
  `reg_date`
,
а в другата се записват артикули и структура на таблицата
Код:
`id` ,
  `idcat`,
  `photo`

Все пак чета, и не пиша нещата наизуст, просто исках код, какъвто и да е за да ме ориентирате!

Поста ти се нарича "наглост", но нищо. В първия си пост обяснението ти куца отвсякъде, защото нали се сещаш, че всеки си мисли собствен начин да си структурира базата данни. Ние не можем да знаем дали си направил някакви релации, как записваш категориите, как "нещата съответстващи на категориите"(каквото и да е това... но щом казваш, че си се изразил ясно) са записани и т.н.
От структура до структура има значение и аз ще ти дам код за моя структура и ще кажеш, че не работи, защото при теб нещата ще са по друг начин.
За това, след като искаш помощ, то поне помогни на другите във форума да те разберат максимално добре какво точно искаш, защото гадатели няма.
 
djman каза:
Не те разбирам. Твоята заявка ще изкара максимум 3 резултата с полетата category1, category2. А целта е от всяка категория да се изкарат по 3 записа, асоциирани с нея.

Нещо се бъркаш или не може да се разберем :D . Нека го обясня така. Да кажем имам таблица само с две полета, например cat1 и cat2. Във всяко от тези полета има да кажем по 10 записа. При заявка SELECT cat1, cat2 FROM table LIMIT 3 ще извади масив с 6 резултата. Те ще са първите 3 записа от cat1 и първите 3 записа от cat2. Пробвай ако не вярваш :D .
 
Ей човек, ама как LIMIT 3 ще изкара повече от 3. Виж тук - http://sqlfiddle.com/#!9/458c0d/2
 
Първите решения от google не са много елегантни, но май други няма:

http://stackoverflow.com/questions/2129693/using-limit-within-group-by-to-get-n-results-per-group

http://stackoverflow.com/questions/12113699/get-top-n-records-for-each-group-of-grouped-results
 

Горе