2011-12-22 3 views
1

В приложении, над которым я работаю, есть меню выбора, в котором есть такие опции, как Ожидание, Актив, Неактивно. Я хотел бы разрешить пользователям создавать свои собственные настраиваемые опции для включения в эти меню. Им должно быть разрешено добавлять изменения и удалять свои собственные настраиваемые параметры, но не системные значения по умолчанию. Какая была бы нормальная нормализованная схема mysql для этого?Позвольте пользователям создавать свои собственные параметры меню выбора, сохраняя при этом приложения по умолчанию

ответ

1

Посмотрите на эту post и особенно на этом ресурсе: http://www.billsternberger.net/jquery/dynamically-add-dropdownlist-option-using-jquery/

Это очень просто и делает то, что вы хотите (для удаления, за исключением, но это не должно быть трудно реализовать :))

что касается структуры таблицы, я предполагаю, чтобы иметь таблицу для отдельных записей, которые могут иметь следующие поля:

select_id (int 11), value (varchar 255), added_by_user (int 1) 

где added_by_user не определяет пользователь, но говорят, если она была добавлена ​​а.е. многосерийный телефильм И в таблице users вы можете добавить поле select_id в качестве внешнего ключа. Теперь вы можете сказать, была ли добавлена ​​запись пользователем, и если да, то каким пользователем.

Это довольно просто, но, как я уже сказал, это всего лишь один из способов сделать это (и то, как я это делаю :)), и вы получите эту идею.

// EDIT:

Если вы хотите, чтобы пользователь мог иметь более чем одну запись, таблица записей должны, конечно, содержать users_id в качестве внешнего ключа (а не наоборот, как это в случае выше):

select_id (int 11), value (varchar 255), added_by_user (int 1), user_id (int 11) 

в зависимости от того, как user_id s обрабатываются (например, пользователь с ID = 0 является администратором или что-то) added_by_user поле может быть устаревшим здесь.

+0

Привет, да jquery, чтобы добавить к выбору довольно легко. В примерах ваших таблиц. Что произойдет, если пользователь добавит несколько записей. В таблице пользователя, как он будет хранить несколько fk's select_ids? Было бы лучше в поле added_by_user сохранить идентификатор пользователя? Итак, когда мы запрашиваем эту таблицу, показываем системные значения по умолчанию плюс любое, где added_by_user равно текущему идентификатору пользователя? – Anagio

+0

Да, вы абсолютно правы! В вашем случае вы должны сохранить 'users_id' в качестве внешнего ключа в таблице записей! Я уточню свой ответ. – Quasdunk

+0

@Anagio И, кстати, jQuery/JavaScript не нужен, если вы не хотите его использовать, это просто заставляет его выглядеть немного лучше. Но он также отлично работает. – Quasdunk

Смежные вопросы