Получение переменного количества полей в запросе
Проблема такая: есть база данных документов, каждый разбит на N частей (допустим, на 10). Юзер с сайта вводит логин и пароль, и система считывает из базы его уровень доступа (соответственно от 1 до 10). После этого, если он запрашивает какой-то документ, база возвращает все его части с номером, не большим его уровня доступа. Например, если уровень юзера - 4, то он сможет просматривать 1,2,3 и 4 части документов. Такое возможно реализовать средствами MySQL, или надо будет производить отсеивание уже на стороне клиента средствами PHP?
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Угу, в системе авторизации оставь флажок с цифрой доступа (лучше в сессии).
И при запросе в зависимости от этого варьируешь количество возвращяющихся доков.
И при запросе в зависимости от этого варьируешь количество возвращяющихся доков.
Нет, количество документов от уровня доступа не зависит. Просто юзер с уровнем 2 может просмотреть 1 и 2 часть документа А, 1 и 2 часть документа Б и 1 и 2 часть документа В. А юзер с уровнем 7 сможет смотреть 1-7 части документов А, Б и В.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ну тогда варьируешь количество возвращяющихся частей. :d
Вот, собственно, ради того, чтобы узнать, как это делается, я эту тему и открыл 

Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
А какой тип у "части документа" в БД?Хыиуду писал(а):После этого, если он запрашивает какой-то документ, база возвращает все его части с номером, не большим его уровня доступа.
Текст до 10 КБ
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Тогда наверное стоит делать так:Хыиуду писал(а):Текст до 10 КБ
Код: Выделить всё
select
if(@Level >= 1, Part1, NULL) as Part1,
if(@Level >= 2, Part2, NULL) as Part2,
...
if(@Level >= 10, Part10, NULL) as Part10
from Document
where
....
Спасибо, именно это я и хотел услышать!
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.