[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: обрезания предложения до определенного
sharki
всем привет, слышал как то раз про прекрасную вещь mysql обрезания предложения до несколько указанных символов... что прописываеца атрибуты и появляеца как бы "вертуальное поле"где хроница обрезанное предложение..которое запрашиваеца из БД

допустим есть пердложение

"сегодня прекрасные день прошел успешно" mysql его запрашивает из БД выводит на страницу уже обрезанным до 20 символов с левого края в итоге

"сегодня прекрасн...." = обрезанный текст

как реализовать, что прописать в коде запроса?

PHP
$result=("SELECT text  FROM table  ЧТО СЮДА ДОПИСАТЬ    ",$db);




Спустя 11 минут, 23 секунды (30.10.2009 - 22:31) Gabriel написал(а):
sharki
blink.gif мускул такое умеет делать?
знаю что пхп может порезать

Спустя 14 минут, 41 секунда (30.10.2009 - 22:46) kirik написал(а):
SUBSTRING() спасет smile.gif
SQL
SELECT SUBSTRING(`text`, 1, 20) FROM table WHERE ...

где 20 - сколько символов отрезать

Спустя 2 минуты, 49 секунд (30.10.2009 - 22:49) DeeKeiD написал(а):
PHP
# Выбераем нужную инфу из базы
$query mysql_query("SELECT * FROM `table`");
$row    mysql_fetch_assoc($query);
$text    $row['text'];
# Если символов больше 20 - обрезаем
if(strlen($text) > 20) { $t substr($text017) . '...'; } else { $t $text; }

echo 
$t;

Спустя 4 минуты (30.10.2009 - 22:53) sharki написал(а):
щикааарно)))

спасибо за быструю помощь всем)

Спустя 35 секунд (30.10.2009 - 22:53) sergeiss написал(а):
А хэлп не пробовал смотреть? Функции разные... Типа substr, например...

Именно в MySQL смотри, а не в ПХП!!!!

PS. Это будет быстрее делатьсчя, особенно если тексты большие образать хочешь. Потому что в ПХП будет передаваться меньше информации.

Спустя 13 минут, 31 секунда (30.10.2009 - 23:07) sharki написал(а):
да ксати согласе с тобой..вот например примерный код я помню но ошибка какая то


PHP
$result = mysql_query("SELECT text FROM table LEFT (text,20) AS texta");

/*где LEFT- это откуда обрезать, а AS куда помещать уже обрезанный текст, texta-это вертуальное поле где уже помещенно обрезанный текст*/

$myrow = mysql_fetch_array($result);
echo $myrow['texta'];


проверте на ошибки я гдет ошибся но ен пойму где из-за этого не работает

Спустя 3 минуты, 29 секунд (30.10.2009 - 23:10) Gabriel написал(а):
sharki
ошибки пишет каието?

Спустя 6 минут, 34 секунды (30.10.2009 - 23:17) sharki написал(а):
ну типа на синтаксис обратить внимание, и не может выполнить запрос с обрезанием..но такая команда существует на 100%

к этому ссылаеца
PHP
$result mysql_query("SELECT text FROM table LEFT (text,20) AS texta");

Спустя 8 минут, 12 секунд (30.10.2009 - 23:25) glock18 написал(а):
Цитата
ну типа на синтаксис обратить внимание, и не может выполнить запрос с обрезанием..но такая команда существует на 100%


да ладно, что-то мне подсказывает, что

SQL
SELECT text FROM table LEFT (text,20) AS texta


=> должно быть

SQL
SELECT text, LEFT(text, 20) AS texta FROM table;


Спустя 3 минуты, 38 секунд (30.10.2009 - 23:29) sharki написал(а):
ну вот)) спасибо glock18 ч.т.д прост помню код, а как прально пишеца не помню
о кстати а можно сделать так?
SQL
SELECT text, LEFT (text,20) AS texta, title,meta FROM table
чтобы можно было вытаскивать и поля и обрезать у каво нужно сразу?

Спустя 9 месяцев, 25 дней, 4 часа, 48 минут, 30 секунд (26.08.2010 - 03:17) KRU написал(а):
Цитата (kirik @ 30.10.2009 - 19:46)
SUBSTRING() спасет SQL
SELECT SUBSTRING(`text`, 1, 20) FROM table WHERE ...
где 20 - сколько символов отрезать

Спасибо, не знал, полезная вещь, также как и LEFT

А дату как-нибудь можно обрезать? точнее отрезать день (последние 3 символа) из поля типа дата (например 2010-08-26 превратить в 2010-08)

Спустя 1 час, 13 минут, 8 секунд (26.08.2010 - 04:30) twin написал(а):
DATE_FORMAT
А вообще почитай мануал, там куча есть интересного еще.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.