Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Делимся опытом

Ответить
Настройки темы
Делимся опытом

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Изменения
Автор: Prisoner
Дата: 22-06-2005
Все люди индивидуальны. Каждый по своему глядит на мир и на работу в частности. У кого-то призвание может оказать помощь и не малую. Предлагаю делиться опытом. Возможно, модераторы этого раздела соберуться с силами и создадут FAQ на основе этой темы и всех имеющихся. Просьба советы и всяческие типсы каким-то образом выделять. Скажем нумерация аля "Фишка №(№предыдущей+1)" . Ведем обсуждение и общаемся. Если не трудно, то указываем свое отношение и поправки - это тоже информация. В путь и да пребудет с нами Сила .

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 14:57, 09-03-2005

 

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Фишка №1.
Очень часто необходимо реализовать постраничный вывод данных из БД. Черт с ними, с данными, фишка не в этом. Обычно у нас есть номер страницы PN и число элементов на страницу EN. Тогда выборку можно организовать используя LIMIT (PN-1)*EN, EN в запросе. Тут проблема - как узнать сколько всего данных (на сколько их вообще страниц)? Отсылать второй запрос без LIMIT? Не... тут разработчики дают одну забавную возможность: отсылаем второй запрос (сразу после лимитированного) вида "SELECT FOUND_ROWS()" и обрабатываем его в штатном режиме - результат число строк из БД как будто нет LIMIT. Приемущество данного метода в том, что данные хоть и выбираются, но не передаются клиенту, что быстрее.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 15:05, 09-03-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Фишка №2 (народная)
Случайная выборка N элементов из БД.
Запрос такого вида:
Код: Выделить весь код
SELECT
  *
ORDER BY
  rand()
LIMIT N
даст требуемый результат. При необходимости можно включать условия WHERE или убирать LIMIT. Cлучайность тут реализует ORDER BY rand().

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 15:09, 09-03-2005 | #3


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


"Фишка" №3
Иногда нужно выводить циферки в красивом виде. Примером может служить вывод колонки цен в таком виде: " 22 000". Тут поможет функция number_format. Для примера, вызов будет таким: number_format($Var, 0, '', ' ');. По ссылке есть типс на счет неразрывного пробела - дело в том, что для разделителя тысяч используется только первый символ переданого функции сепаратора, а в " " их шесть .

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 15:04, 10-03-2005 | #4


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Типс №4
Долгое время пользовался FastTemplate. Попробовал TemplatePower и возрадовался. По мне так очень симпатичная штука. Почитать об этом шаблонизаторе можно тут.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 19:29, 11-03-2005 | #5


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Типс №5
PEAR позводит вам использовать уже написанные функциональные модули. Правда для этих модулей (классы или просто функции, но чаще классы) необходима базовая система PEAR аля движок. У большинства хостеров эта базова система уже имеется, но если это не так, то ее нетрудно установить, воспользовавшись "установщиком" (прочесть об этом можно на сайте). По ссылке большой объем нетривиальных решений нетривиальных задач.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 13:27, 12-03-2005 | #6


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Фишка №6
Часто, если не всегда, требуется обеспечить админ-интерфейс для сайта. Причем самой распространенной проблемой является реализация WYSIWYG редактора текстового (и не только) контента страниц. Если пункты какого-либо каталога можно вдалбливать в БД через форму, то вот текст с картинками и форматированием будет крепким орешком. Тут, в большинстве ситуаций, поможет WYSIWYG редактор SPAW. Почему в большинстве случаев? Поддержка Gecko только анонсируется. Таким образом, если есть информация, что админить будут, используя только IE версии не младше 5.5, то SPAW - оптимальное решение. Кстати, кто-нибудь использует оный или аналоги? Про аналоги было бы интересно узнать мнения.
Про аналоги можно посмотреть на соответствующих офсайтах: FCKEditor, Kafenio.Editor (на Java), pinEdit (IE only)
Гигантский список такого рода приблуд.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Последний раз редактировалось Prisoner, 07-02-2006 в 19:13.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:58, 12-03-2005 | #7


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Типс №7
Аналогичный PEAR проект - репозиторий классов php. Большое количество (имхо, большее чем у PEAR) классов по различным категориям. Отличительной чертой является независимость от какого-то материнского класса. Однако некоторые классы с этого ресурса могут быть в зависимости друг от друга. Требуется регистрация при закачке пакетов даунлоадерами не встроенными в броузер. Есть рассылка о новых поступлениях, обновлениях и т.д.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Последний раз редактировалось Prisoner, 13-03-2005 в 11:08.


Отправлено: 11:00, 13-03-2005 | #8


Аватара для archy

Ветеран


Сообщения: 659
Благодарности: 3

Профиль | Отправить PM | Цитировать


Prisoner
Цитата:
SELECT FOUND_ROWS()
чем это отличается от запроса select count()?

Отправлено: 12:14, 14-03-2005 | #9


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


В общем и целом - ничем. В нюансах: есть запросы когда невозможно получить сразу и данные и число строк в выборке, к тому же count() игнорирует LIMIT. А еще, если прочесть то, что пишут разработчики о кеше запросов, выяснится, что информация о числе строк берется из кеша.
Цитата:
SQL_CALC_FOUND_ROWS и FOUND_ROWS() позволяют узнать, сколько строк возвратит запрос без оператора LIMIT.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:33, 14-03-2005 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Делимся опытом

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Виндовс без переустнановки делимся рекордами... Angelofdeath Флейм 81 13-07-2015 17:56
Делимся интересными ссылками по IT тематике ldcount Хочу все знать 4 08-02-2010 09:35
Делимся опытом записи DVD9 SinSon Хочу все знать 1 08-05-2007 00:22
SP2 - Service Pack 2 winXP - делимся впечатлениями mb Microsoft Windows 2000/XP 56 14-09-2004 11:48




 
Переход