|
|
|
| Есть следующий запрос к базе
SELECT `id`,`title`,`cat_id` FROM `cp_content_posts` WHERE `show`='1' && `cat_id`='$r->id' ;
в заголовке каждого материала в конце идет цифра от 1 до 5 и символ *
нужно составить регулярное выражение что бы материалы выводились в последовательности от 5* до 1* | |
|
|
|
|
|
|
|
для: deni_den
(22.07.2011 в 05:17)
| | А можно увидеть кусочек дампа таблицы, чтобы можно было воспроизвести ситуацию локально? | |
|
|
|
|
 110.1 Кб |
|
|
для: cheops
(22.07.2011 в 12:03)
| | да, вот | |
|
|
|
|
|
|
|
для: deni_den
(22.07.2011 в 05:17)
| | Вообще, конечно, лучше ввести для звезд отдельное поле, так как в MySQL регулярные выражения довольно своеобразные и решение выглядит несколько громоздко
SELECT
title,
(title RLIKE '5[[.asterisk.]]$') AS five,
(title RLIKE '4[[.asterisk.]]$') AS four,
(title RLIKE '3[[.asterisk.]]$') AS three,
(title RLIKE '2[[.asterisk.]]$') AS two,
(title RLIKE '1[[.asterisk.]]$') AS one
FROM cp_content_posts
WHERE `show`='1'
ORDER BY
five DESC,
four DESC,
three DESC,
two DESC,
one DESC
|
| |
|
|
|
|
|
|
|
для: cheops
(22.07.2011 в 14:28)
| | Огоромное Вам спасибо!
Очень помогли! | |
|
|
|