Forum Webscript.Ru

Общие => Базы данных => Тема начата: FANTAzeRus от 03 Августа 2004, 21:17:12

Название: "Укутываение" текста
Отправлено: FANTAzeRus от 03 Августа 2004, 21:17:12
Написал запрос, который при выводе списка постов "укутывает" текст длинной более 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),\'
...
Читать дальше\\"\',ca.title,\'\\"\'),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

Но есть ОГРОМНЫЙ минус такого метода - это абсолютно непредсказуемое обрезание текста, надеюсь понятно! Дык вот, можно это конечно решить следующим образом: уже в коде скрипта отрезать все лишнее с конца до ближайшего пробела, НО есть жгучее желание все это реализовать в запросе ... не подскажете ли в каком направлении крутить???
Название: "Укутываение" текста
Отправлено: ondr от 04 Августа 2004, 02:59:23
например положить рядом уже обрезанный текст, при вставке ;)
Название: "Укутываение" текста
Отправлено: commander от 04 Августа 2004, 10:04:26
FANTAzeRus
Я в своё время сделал так как посоветовал ondr  :) Меньше заморочек... :)