|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
Есть xml: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Задача: отсортировать 3 последних forum в хронологическом порядке. Сортировку по дате сделал, но не могу вывести 3 последних forum (в хронологическом порядке, более свержие наверху): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Помогите пожалуйста, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2010, 15:07 |
|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2010, 23:01 |
|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
Японский формат даты разобран не правильно: substring(@last_message, 1, 4) - год substring(@last_message, 5, 2) - месяц, не 4, 2 substring(@last_message, 7, 2) - день, не 5, 2 Все это сокращается при сортировке в: substring(@last_message, 1, 8) walek, ваша задача красиво не решается, т.к. произведена ошибка при формировании XML. Все новостные линии, форумы и прочее должны сортироваться на уровне базы, SQL средствами, если это не возможно, значит средствами программы генерящей XML, тогда вы сможете написать быструю выборку <xsl:apply-templates select="type/forum [ position() <= 3 ]" /> и не обрабатывать все полотенце тегов. В вашем же случае, при сортировке, такой финт невозможен и приходится делать кучу пустых итераций. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2010, 16:55 |
|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
еще hint: Код: plaintext 1. 2.
Выдаст аналогичный результат, но быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2010, 17:04 |
|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
Andry TrushinЯпонский формат даты разобран не правильно: substring(@last_message, 1, 4) - год substring(@last_message, 5, 2) - месяц, не 4, 2 substring(@last_message, 7, 2) - день, не 5, 2 Да, действительно, был невнимателен. авторВсе это сокращается при сортировке в: substring(@last_message, 1, 8) Отличное предложение! Спасибо. автор walek, ваша задача красиво не решается, т.к. произведена ошибка при формировании XML. Все новостные линии, форумы и прочее должны сортироваться на уровне базы, SQL средствами, если это не возможно, значит средствами программы генерящей XML, тогда вы сможете написать быструю выборку <xsl:apply-templates select="type/forum [ position() <= 3 ]" /> и не обрабатывать все полотенце тегов. Это всё понятно, просто мне интересно было найти решение этой задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 07:26 |
|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
Andry Trushinеще hint: Код: plaintext 1. 2.
Выдаст аналогичный результат, но быстрее.Вот это не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 07:26 |
|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
walek, При таком формате дата/времени - "20030328 15:45:15", сортировка строк будет вести себя аналогично, т.е. сортировать так как вам надо, я там только кавычку забыл, правильно так: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 11:32 |
|
Выбрать 3 последних узла
|
|||
---|---|---|---|
#18+
Andry Trushinwalek, При таком формате дата/времени - "20030328 15:45:15", сортировка строк будет вести себя аналогично, т.е. сортировать так как вам надо, я там только кавычку забыл, правильно так: Код: plaintext 1. 2.
Здорово, а я как-то сразу не подумал, спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 12:43 |
|
|
start [/forum/topic.php?fid=14&fpage=33&tid=1333159]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 146ms |
0 / 0 |