|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Список пользователей в одну колонку
Подскажите как реализовать такую вещь.
Программа для участия в турнирах. пользователи регистрируются в турнирах, после чего в таблицу mysql (думаю в одну колонку) нужно заносить зарегистрированных пользователей (через запятую например). А также нужно будет вытащить количество зарегистрированных участиков в турнире. но ничего не выходит. помогите плиз |
#2
|
||||
|
||||
Без структуры вашей БД, я могу много чего предложить. Схемку БД прикрепите в виде картинки к сообщению - тогда может чего умное и посоветуем.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Структура самая простая. Есть таблица с датой начала турнира, названием и т. д. Также в ней есть одна колонка куда должны будут записываться логины пользователей, которые нажмут на кнопку "Зарегистрироваться". Вобщем это судя по всему возможно сделать только через массив, например при нажатии пользователем на кнопку "Зарегистрироваться" вытаскиваем из этого массива все логины, добавляем еще логин пользователя который зарегался и переписываем в колонку
|
#4
|
|||
|
|||
Руки оторвать за такой дизайн. Учим связь один-ко-многим.
Код:
create table TOURNIRS ( id integer prymary key, -- посмотри как сделать его autoincrement name varchar(80), beginDate date ); create table USERS ( id integer prymary key, -- посмотри как сделать его autoincrement name varchar(250), login varchar(20), tournir_id integer references TOURNIRS.ID ); |
#5
|
|||
|
|||
в таком случае пользователь сможет зарегаться только в одном турнире.
Реализовал немного по другому. При регистрации нового пользователя в таблице Tournaments создается поле с логином юзера. И таким макаром для ID каждого турнира есть возможность поставить отметку зареган пользователь или нет. Всем спасибо |
#6
|
|||
|
|||
Цитата:
Учим связь многие-ко-многим. Код:
create table Tournaments ( ID integer prymary key, name varchar(80), beginDate date ); create table Users ( ID integer prymary key, name varchar(250), login varchar(20), ); create table UsersAtTournaments ( ID integer prymary key, User_id integer references User.ID, Tournament_id integer references Tournaments.ID ); |
#7
|
|||
|
|||
Цитата:
не пойму смысла с этого, ну допустим в одной колонке получится айди турнира, а во второй айди юзера. И что с этого? Нужно чтоб заносилась инфа зарегистрирован юзер или нет |
#8
|
||||
|
||||
Есть базовые принципы организации реляционной базы данных:
Табличка Users ничего кроме информации о пользователях содержать не должна. Табличка Tournaments ничего кроме сведений о турнире содержать не должна. Но нам нужно Пользователя зарегистрировать в Турнире, следовательно нужна третья табличка UsersAtTournaments, которая позволит нам без ограничений регистрировать любого пользователя на любом турнире. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
chellas88 (10.01.2016)
|