![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| neokortex |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 19.3.2007 Репутация: нет Всего: нет |
Все данные берутся из базы.
Получаем массив, типа
Предположим, нам надо вывести список сотрудников, и название отдела в котором он трудится. Название отдела хранится в отдельной таблице MySQL, например
Есть два варианта: I. 1. Соединямся с таблицей работников 2. Пробегая по массиву работников соединяемся с таблицей отделов и выбираем соответствующий отдел (SELECT * FROM `otdeli` WHERE `id`=...), выводим его название II. 1. Соединяемся с таблицей работников. (все работники) 2. Соединямся с таблицей отделов (все отделы) 3. Пробегая по работникам, пробежаться по массиву отделов и найти там соответствующий. Вывести его на экран. Таким образом, в первом варианте каждый раз - соединение с базой. Что не хорошо. Во втором варианте - каждый раз - цикл, т.е. работа с большим массивом данных. Если учесть что оба массива могут быть большими (например 100 работников на страницу, 100 раз надо пробежаться по массиву.) Предположим отделов 2 000 (это очень большая организация Я не мега программмист, но у меня больше нет идей. Есть ли еще варианты? Как можно оптимизировать работу? А если за один раз надо вытащить не только отдел, но и еще какие-нибудь данные (2, 3). Как решать? Помогите, спецы. |
||||
|
|||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
Эээ.... а что мешает соеденится один раз с базой данных и получить выборку согласно заданным условиям? Если очень много данных - лимируйте выдачу количеством строк и гоняйте запрос в цикле.
-------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
III - пишем запрос к базе
получаем такой-же массив как и с сотрудниками, но добавится еще одно поле - имя отдела. Это сообщение отредактировал(а) ksnk - 26.9.2010, 21:06 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |