Тема: Как связать таблицы!!!

Имеется таблицы с пользователями ( users ) и возможностями ( do )

users имеет вид:

     NUM ( AUTO_INCREMENT ),          FIO,                KAT
Пример       26                           Иванов Иван           Администратор

do имеет вид:
         
         NUM ( AUTO_INCREMENT ),          KAT,               
Пример    1                            Администратор
      2                            Пользователь

Как сделать связку этих возможностей чтобы записать в USERS в столбей KAT только цифры (1,2) чтобы были возможности
Администратора и Пользователя. Чтобы эти возможности брал из таблицы DO

И что допустим надо для запроса для добавления пользователя в таблицу USERS  чтобы категорию брал из таблицы DO????

2

Re: Как связать таблицы!!!

Правильным будет записывать в поле KAT таблицы users уникальный идентификатор таблицы do.

NUM ( AUTO_INCREMENT ),          FIO,                KAT
Пример       26                           Иванов Иван           1

NUM ( AUTO_INCREMENT ),          KAT,               
Пример    1                            Администратор
      2                            Пользователь

alexxx1900 сказал:

Как сделать связку этих возможностей чтобы записать в USERS в столбей KAT только цифры (1,2) чтобы были возможности
Администратора и Пользователя. Чтобы эти возможности брал из таблицы DO

Связь таблиц делается только при выборке данных, а не при их записи.

alexxx1900 сказал:

И что допустим надо для запроса для добавления пользователя в таблицу USERS  чтобы категорию брал из таблицы DO?

Для добавления в таблицу users вам надо знать идентификатор строки из таблицы do.

3

Re: Как связать таблицы!!!

да да только надо пользователю добавить роль Администратора и Пользователя!!! т..е.. как бы через запятую 1,2 !!!
т.е. сначала выбрать методом флажков роли и добавить пользователя!!! а потом как считывать такое ???

4

Re: Как связать таблицы!!!

alexxx1900 сказал:

как бы через запятую 1,2

Это странно, потому что сложно представить администратора не имеющего прав пользователя. Но если что-то такое надо, то потребуется завести третью учетную запись добавив строку в таблицу do и использовать идентификатор 3, например.

5

Re: Как связать таблицы!!!

просто имеется зона для просмотра только пользователями и имеется зона для администратора..... так надо записать пользователю и роль админа и пользователя!!! как такое возможно записать в ячейку??? видь такое возможно????
допустим пользователь может иметь несколько ролей и модератор и супер пользователь и редактор и т.д.

6

Re: Как связать таблицы!!!

alexxx1900 сказал:

допустим пользователь может иметь несколько ролей и модератор и супер пользователь и редактор и т.д.

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

7

Re: Как связать таблицы!!!

хм.... может уже есть реализованный проект??? может хоть чем разделять не обязательно запятыми!!! может пробелами или другими символами!!!
допусти как в базе root имеет права и чтение и редактора и удаление и .т.д.!!!

8

Re: Как связать таблицы!!!

Попробуйте изменить таблицу do добавив в нее поля администратора, пользователя и т. д., каждое из которых будет иметь булево значение 1 или 0.

9

Re: Как связать таблицы!!!

я думал попроще будет сделать!!! просто одному пользователю надо будет РОЛЬ АДМИНИСТРАТОР и ПОЛЬЗОВАТЕЛЯ, другому ПОЛЬЗОВАТЕЛЬ и РЕДАКТОР, третьему ПОЛЬЗОВАТЕЛЬ и МОДЕРАТОР!!!
блин надо думать что и как!!!

10

Re: Как связать таблицы!!!

http://ukrhosting.com/development/faq/images/mysql_user_edit.gif
вот такое бы, только вместо grant   drop   И т.д. свои приписать привилегий АДМИНИСТРАТОР, МОДЕРАТОР, ПОЛЬЗОВАТЕЛЬ и т.д.

11

Re: Как связать таблицы!!!

alexxx1900 сказал:

вот такое бы, только вместо grant   drop   И т.д. свои приписать привилегий АДМИНИСТРАТОР, МОДЕРАТОР, ПОЛЬЗОВАТЕЛЬ и т.д.

Я выше уже все описал. Каждой привилегии свое поле.

12

Re: Как связать таблицы!!!

ладно подумаем! если что напишу свой вариант!!!
а есть вопросик когда вставляешь в базу данные и NUM ( AUTO_INCREMENT ) автоматически вставляется... а можно узнать его до добавления ??? ну допустим запись 50 Иванов Иван а ты добавляешь пользователя Сидоров Петя и знаешь что ему добавится 51 значение, чтобы подтвердилось при добавление номер 51 успешно добавлен!!!!
можно как-нибудь реализовать???

13

Re: Как связать таблицы!!!

alexxx1900 сказал:

а можно узнать его до добавления ?

Нет, до добавления узнать нельзя, только после, для чего есть функция mysql_insert_id().

14

Re: Как связать таблицы!!!

хм у меня не получается реализовать этот выход последнего значения!

if(!mysql_query($sql))
{echo '<center><p><b>Ошибка !!!</b></p></center>';}
else
{echo "<script>
alert('Успешно! номер последний записи mysql_insert_id()');
location.href='index.php';
</script>";}

15

Re: Как связать таблицы!!!

ура разобрался smile))
вот результат

if(!mysql_query($sql))
{echo '<center><p><b>Ошибка !!!</b></p></center>';}
else

$id = mysql_insert_id();

{echo "<script>
alert('Успешно! номер последний записи $id');
location.href='index.php';
</script>";}