MySQL: проблем с order by

6 отговора 139 прегледа
#1

MySQL: проблем с order by

немога да се сетя как да направя една заявка с групиране... може би вие можете да ми помогнете
става въпрос за форум. в следната таблица postid е номера на съобщението а parent указва кой е 'родителя' на текущото съобщение
примерно postid = 3,6,7 са съобщения от нишката с postid=1

postid---parent---posted
---1---------0-------2004.03.02 22:55:12
---2---------0-------2004.03.02 22:55:24
---3---------1-------2004.03.03 14:12:43
---4---------0-------2004.03.03 15:40:12
---5---------2-------2004.03.03 16:00:00
---6---------1-------2004.03.03 16:23:52
---7---------1-------2004.03.03 18:22:12

искам да изкарам резултатите където parent = 0 и да ги подредя по posted на последното съобщение от текущата нишка.
дано ме разбрахте какво имам в предвид.


Отговор
в отговор на sP #2

Re: MySQL: проблем с order by

SELECT * FROM tbl WHERE parent=0 ORDER BY DESC posted

Само не разбрах дали искаш последния запис да излиза пръв или обратното.

Ако е обратното само махни DESC

Break The UnBreakable
Отговор
в отговор на nupaT #3

Re: MySQL: проблем с order by

явно не съм се изразил правилно...
виж... тази таблица ще има parent=2,5,9... аз правя следното:
$query = "SELECT topic, author, post_id FROM header WHERE parent = $index ORDER BY posted LIMIT $start, 20";
$result = mysql_query($query) or die('error');
$num = mysql_num_rows($result);
for ($i = 0; $i < $num; $i++) {
$row = mysql_fetch_array($result);
...
...
...
}

това искам да ми изкарва всички съобщения без родители и съответно да ги подрежда по последното постнато съобщение-дете на текущия родител

поствах и във друг форум и ми казаха че няма да мога да направя това което искам тъй като информацията която държа в базата е много малко...

пф от много време се опитвам да си направя форум и немога! немога да направя правилно структурата на базата... може ли някой да обясни какви таблици трябва да имам какви полета... как да ги навържа нещата... става въпрос за съвсем прост форум... без регистрирани потребители... моите идеи просто свършиха и немога да го направя...
това е което съм постигнал:
[линк]
не съм го тествал, има много проверки които не са направени и общо взето само видимо е ок...

Редактирано от sP на

Отговор
в отговор на sP #4

Има един куп готови

форуми. Можеш да си вземеш някой и да го преправиш или поне да вземеш идеи от него.
Съмнявам се че можеш по начина по който си тръгнал да минеш само с SQL заявка.
Трябва да имаш или отделни таблици за тема и мнения или доста програмиране.

Bеer? Moooorrre?
Отговор
в отговор на bira_more #5

Re: Има един куп готови

гледал съм други форуми... гледах и в една книга как са направили message board но пак немога да го направя сам... имам отделни таблици за мнение и теми... но явно трябва в таблицата с темите да имам още някакво поле в което да пазя още информация но незнам какво и как да го свържа с другите полета...

Отговор
в отговор на sP #6

Re: Има един куп готови

Аз имах подобен проблем преди време като писах форум. В тази таблица която си направил, моята е същата, но има две допълнителни полета. Едното е точно за сортирането, за да се редят дървовидно според това кое на кое е отговор, а второто е за да могат да се отместват заглавията навътре, както тук става.
Ако искаш драсни ми един мейл на i_bleeding@yahoo.co.uk и ще ти пратя структурата на таблиците и обяснения кое какво прави. Ще е към сряда обаче, дано не ти е спешно.

А, всъщност има 3 допълнителни спрямо твоята таблица полета, а тва с датата на поста не е в тази, ще видиш как са.

Редактирано от Линokc на

Отговор
в отговор на Линokc #7

Re: Има един куп готови

пращам ти веднага mail!:)

Отговор