![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| N_Ghost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.6.2008 Репутация: нет Всего: нет |
Есть база, в которой есть текстовые поля с довольно большими данными.
Возникла необходимость при выборе, выводить допустим первых 300 символов. Как превью. Можно конечно перед выводом на страницу просто обрезать длинный текст средствами PHP, но получается что выбор из таблицы добавляет слишком много лишнего трафика. Смотрел в сторону LEFT, но не совсем понял принцип работы. Точнее как с ним составить запрос. Для примера:
Выбирает всё что находится в поле Message. Как составить запрос, чтоб было выбрано только 300 первых символов? |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
|
|||
|
||||
| N_Ghost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.6.2008 Репутация: нет Всего: нет |
интересно, но не работает. может у меня выборка не правильная?
это таким макаром реализуется выборка части новости на порталах? |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
Я просто обожаю такие пояснения! Сразу понятно - не работает и всё тут! А толи она выдаёт ошибку (чертовски интересно знать какую) толи ничего не выдаёт, толи выдаёт не то что автор хотел - это уж конечно военная тайна.
Ты выполни сначала запрос в phpMyAdmin. Посмотри результаты, а потом уж в php его пробуй |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
если и так, то только там, где новости добавляет действительно большое количество людей с разным уровнем компграмотности, либо количество новостей реально большое, либо новости добаляются автоматически(обработка RSS-каналов или ещё каким путем). Потому что единственно нормально выглядещее решение - при создании новости чтоб редактор сам создавал "краткий вариант", и только в таком случае: 1. не произойдет обрезка на действительно длинном "последнем слове"("был построен самый крупный синхр...(далее)" - вот и пойми, что там "синхрофазотрон", как будто рассказчику рот заткнули на середине), но при этом это "длинное слово" не разорвет верстку. 2. при вдумчивом редактировании "короткий вариант" может завлекать, давать часть информации, а не озадачивать бессмысленностью("Вчера, в 10 утра по московскому времени в городе ....(далее)" - что, где, зачем смотреть полный текст?) |
|||
|
||||
| N_Ghost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.6.2008 Репутация: нет Всего: нет |
первое что проверил это в php, ничего не выдаёт, просто пустые строки.
без ошибок, без всего. сейчас пойду глубже. в phpmyadmin работает без вопросов, поэтому и было подозрение на не верно составленный запрос с моей стороны. про обрезание новостей, первое что приходит в голову, это создать два поля, короткий заголовок и полный текст. но тут базу править никто не даст, придётся извращатся только таким способом. требуют чтоб было определённое колличество символов и точки. интересна сама реализация, кто как решает такие вопросы. потому что по этой теме в инете совсем ничего не нашел. |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: нет Всего: 16 |
||||
|
||||
| N_Ghost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.6.2008 Репутация: нет Всего: нет |
только текст, без тегов. что делать, начальника сказала "надо", и не важно что это не твоё дело Undefined index, на все поля в базе. вывод ошибок был по умолчанию выключен. Это сообщение отредактировал(а) N_Ghost - 15.10.2009, 17:48 |
|||
|
||||
| N_Ghost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.6.2008 Репутация: нет Всего: нет |
всем спасибо, понял в чём ошибка.
надо было поля перечислить из которых выбирать. Это сообщение отредактировал(а) N_Ghost - 15.10.2009, 18:41 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
||||
|
||||
| N_Ghost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.6.2008 Репутация: нет Всего: нет |
ничего не вернул, что меня тоже смутило. были только: Notice: Undefined index: Comment in... Notice: Undefined index: Message in... да и в админе код отработал без ошибок. про дату, там другое поле. это просто так сказать копия тестового скрипта, чтоб базу случайно не уронить. а вот с запятой происходят инетересные вещи, если её нет, то всё работает как надо, а если оставить, то не выполняется LEFT |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |