Показать сообщение отдельно
  #22 (permalink)  
Старый 24.01.2017, 17:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от dfii
Вы слишком требовательны к нубам
Я от вас ничего не требую, и мне в общем то как-то по... как там будет сделано, но... Если задается структура данных, показан код работы с ними, при этом из изложенного совсем не понятна цель мытарств, которых в общем-то не должно быть, что я должен сказать?

Вот каков бы был ваш ответ на такой мой пост: "сегодня меня посетила мысль, а что если то, что у меня есть я умножу на два и отниму половину, это будет нормально"?

Скорее всего - "а хрен его знает, может и нормально, а может от жиру бесимся". Чтобы и овцы были целы, и волки сыты, на ваше озарение тогда надо было бы ответить - "мы прочили и порадовались за вас".

Или чего вы ожидали?

Если вы разобрались "что к чему" в запросе клиента к серверу, то должны понять, что код передает все элементы формы серверу, коими у вас по коду являются только списки. А это означает, что всегда будут передаваться все списки не зависимо от того был ли в них выбор. Попутно можно заметить, что у опций по умолчанию (Выберите категорию и т.п.) значение лучше определять ни как 0, а как пустое, так как в этом случае проще проверить был ли выбор в списке.

Но не это суть. Пусть в списках был выбор, если на сервере удалить из набора данных списки с не выбранными опциями, то сервер будет запрашивать только то, что будут в наборе. Это означает, что не важно как будут передаваться данные формы, все ли сразу, или же при каждом изменении списка, катастрофы не произойдет, так как запросы данных определяются ключами запроса слева направо. А из этого следует, что можно установить нужный набор этих ключей (выбрав опции), сделать единственный запрос, а ответ, если уж так надо распихать на клиенте куда и как душа пожелает.

С деревом данных так не получится, ибо это будет крайне неудобно для навигацию пользователю по всему сразу. Сразу все, ну это чтобы отобразить ветви дерева, то же меню к примеру, а получить конкретное, это постепенно от корня к вершине.

Запросы к SQL, это всегда есть "больное место" веб приложения, их оптимизируют, их не используют когда в этом нет причины. Нуб, не нуб, это не мне разбираться, но уж коли взялись писать, ну так надо как минимум понимать, что база, это не обязательно единственный ящик для всего что угодно, данные можно хранить и вне базы. Поэтому ответ на "многие Х в вопросе" может быть таким каким я его и пишу. А уж вам думать, что есть из этого золотое сечение, что оправдано, а что нет.

Последний раз редактировалось laimas, 24.01.2017 в 17:14.
Ответить с цитированием