FANTAzeRus
Guest
"Укутываение" текста
Написал запрос, который при выводе списка постов "укутывает" текст длинной более N=символов, в данном случае 500 и закрывает его фразой "Читать дальше", вот собсна сам запрос:
SELECT
ca.cid,
ca.title,
ca.opened,
ca.clevel,
ca.type,
DATE_FORMAT(ca.cdat,'%d.%m.%Y %H:%i:%s') dat,
IF(LENGTH(co.text)>500,CONCAT(SUBSTRING(co.text,1,500),'<br>...<br>Читать дальше<a href=\"post_',co.cid,'.html\"><b>\"',ca.title,'\"</b></a>'),co.text) text,
u.type ust,
u.nik
FROM cat ca
LEFT JOIN users u ON(u.id=ca.user)
LEFT JOIN content co ON(co.cid=ca.cid)
WHERE ca.clevel>2 and ca.cid>1 and ca.wis='Y' and ca.title
ORDER BY ca.dat DESC
Но есть ОГРОМНЫЙ минус такого метода - это абсолютно непредсказуемое обрезание текста, надеюсь понятно! Дык вот, можно это конечно решить следующим образом: уже в коде скрипта отрезать все лишнее с конца до ближайшего пробела, НО есть жгучее желание все это реализовать в запросе ... не подскажете ли в каком направлении крутить???
Написал запрос, который при выводе списка постов "укутывает" текст длинной более N=символов, в данном случае 500 и закрывает его фразой "Читать дальше", вот собсна сам запрос:
SELECT
ca.cid,
ca.title,
ca.opened,
ca.clevel,
ca.type,
DATE_FORMAT(ca.cdat,'%d.%m.%Y %H:%i:%s') dat,
IF(LENGTH(co.text)>500,CONCAT(SUBSTRING(co.text,1,500),'<br>...<br>Читать дальше<a href=\"post_',co.cid,'.html\"><b>\"',ca.title,'\"</b></a>'),co.text) text,
u.type ust,
u.nik
FROM cat ca
LEFT JOIN users u ON(u.id=ca.user)
LEFT JOIN content co ON(co.cid=ca.cid)
WHERE ca.clevel>2 and ca.cid>1 and ca.wis='Y' and ca.title
ORDER BY ca.dat DESC
Но есть ОГРОМНЫЙ минус такого метода - это абсолютно непредсказуемое обрезание текста, надеюсь понятно! Дык вот, можно это конечно решить следующим образом: уже в коде скрипта отрезать все лишнее с конца до ближайшего пробела, НО есть жгучее желание все это реализовать в запросе ... не подскажете ли в каком направлении крутить???