[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Массив и БД
Фибер Оптик
Здравствуйте!
Столкнулся с такой проблемой:

Есть таблица в БД, в которой хранится структура каталога (id, title и всякая лабудень).

Есть таблица в БД, в которой хранится информация о пользователях. Одно из полей - acсess, представляющее собой строку вида 3,7,12,11,50,7 и тд. Т.е эти цифры, которые совпадают с id из таблицы со структурой каталога (отличных цифр от ID быть не может).

Планирую сделать следующее: если у пользователя в access есть цифра, соответствующая ID раздела, то к этому разделу у него есть доступ и определяется это так:

Есть checkbox с title раздела. Если у пользователя в access есть цифра, соответствующая ID этого раздела, то checkbox checked.

Блин, на словах я понимаю как это сделать, но реализовать не получается.

Сейчас сделал только разбитие строки на подстроки функцией explode.

Как я думаю, теперь надо прогнать получившиеся данные по циклу и сравнить это ID.

Подскажите, как это можно сделать?
Спасибо




Спустя 20 минут, 52 секунды (21.12.2011 - 16:37) sergeiss написал(а):
Сделай таблицу "доступы" в виде 2-х столбцов: id пользователя (берешь из первой таблицы) и номер раздела. Сколько у пользователя доступов к разделам, столько и строк будет. При редактировании просто "тупо" удаляешь старые данные, касающиеся определенного юзера и создаешь новые строки, для новых параметров доступа.
При такой структуре наиболее просто работать с данными.

Спустя 5 минут, 35 секунд (21.12.2011 - 16:42) Фибер Оптик написал(а):
Цитата (sergeiss @ 21.12.2011 - 13:37)
Сделай таблицу "доступы" в виде 2-х столбцов: id пользователя (берешь из первой таблицы) и номер раздела. Сколько у пользователя доступов к разделам, столько и строк будет. При редактировании просто "тупо" удаляешь старые данные, касающиеся определенного юзера и создаешь новые строки, для новых параметров доступа.
При такой структуре наиболее просто работать с данными.


Спасибо за ответ!
Думал об этом, но решил, что такая выборка тормозить систему будет. Много строк надо будет перебирать. Или не будет? smile.gif

Спустя 5 минут, 57 секунд (21.12.2011 - 16:48) sergeiss написал(а):
Чтобы не думалось лишнего, прочитай тут: http://ru.wikipedia.org/wiki/Нормализация_баз_данных, как раз на эту тему. Надо только суметь за кучей терминов понять суть задачи.

Спустя 2 минуты, 50 секунд (21.12.2011 - 16:51) Фибер Оптик написал(а):
спасибо, обязательно ознакомлюсь.
Быстрый ответ:

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