Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание нескольких баз при регистрации, создание баз 
:(
    Опции темы
hripun
Дата 18.9.2009, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



Такое дело. мне при регистрации нужно что бы данные записывались не в одну таблицу а сразу в 3 для одного пользователя. подскажите плиз как это правильней всего сделать ?
PM MAIL ICQ   Вверх
Romikgy
Дата 19.9.2009, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



тригеры видать 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
hripun
Дата 19.9.2009, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



чего ?
PM MAIL ICQ   Вверх
bars80080
Дата 19.9.2009, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



тут наверное надо всё-таки уточнить. имеется ввиду записать данные в три таблицы одной базы или в одну таблицу в каждой из трёх баз?
PM MAIL WWW   Вверх
hripun
Дата 19.9.2009, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



Если более подробно и точно,то нужно и то и другое - 

Нужно записать в одну базу, в которой несколько таблиц.
Каждая таблица отвечает за определенные свойства одного и того же объекта,

Допустим, при регистрации пользователя данные должны автоматически "закидываться" в разные таблицы,где:
таблица №1 - это id, логин и пароль, почтовый ящик;
таблица №2 - сообщения этого юзера;
таблица №3 - инфо о каком либо контенте,опубликованным им;

И имееться еще одна база, в ней находиться чат.

1.Нужно связать все три таблицы воедино, чтобы при выводе корректно выводилась информация, т.е. для каждого зарегистрировавшегося юзера своя собственная.

2. И связать обе базы вместе.

Это сообщение отредактировал(а) hripun - 19.9.2009, 15:33
PM MAIL ICQ   Вверх
bars80080
Дата 19.9.2009, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



Цитата(hripun @  19.9.2009,  15:11 Найти цитируемый пост)
Допустим, при регистрации пользователя данные должны автоматически "закидываться" в разные таблицы,где:
таблица №1 - это id, логин и пароль, почтовый ящик;
таблица №2 - сообщения этого юзера;
таблица №3 - инфо о каком либо контенте,опубликованным им;

честно говоря, впервые слышу чтобы все эти три пункта можно было выполнять одновременно.
как вы это себе это представляете? форма для регистрации, сообщения и прочей инфо в одном комплекте?
да даже если и всё сразу, то в чём проблема? три запроса, по одному в каждую таблицу




Цитата(hripun @  19.9.2009,  15:11 Найти цитируемый пост)
И имееться еще одна база, в ней находиться чат.

во-первых, зачем в отдельной базе.
во-вторых, тоже, что особенного? два разных коннекта, к разным базам, в которых поддерживается упоминание о вызванном коннекте (в каждой функции есть необязательное поле с указанием ресурса)


какие сложности? вот что хотелось бы узнать
PM MAIL WWW   Вверх
hripun
Дата 20.9.2009, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



Цитата

честно говоря, впервые слышу чтобы все эти три пункта можно было выполнять одновременно.
как вы это себе это представляете? форма для регистрации, сообщения и прочей инфо в одном комплекте?


Там же написано "допустим" у меня стоят совершенно другие параметры.

Пробывал делать так - т.к. каждый юзер имеет свой номер, то берем его id, и во всех таблицах  добавляем столбец  который равен id юзера(т.е. при регистрации нового пользователя его id автоматически прописываеться в остальных таблицах)
Делалось это для того,что в таблицах зачастую собственный id для сторки, а вытащить информацию запросом не всегда удобно и выполнимо 
(база постоена так, что вся работа проходит через ник) можно переписать полностью все с нуля, но как то жалко...

Цитата

зачем в отдельной базе.


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

Добавлено через 14 минут и 30 секунд
Цитата

да даже если и всё сразу, то в чём проблема? три запроса, по одному в каждую таблицу


Проблема с выборкой, юзеров много,инфа у всех разная . Вот и ищу чем их связать воедино.
Тут думаю либо по нику нужно делать отдельный столбец, либо все под id подстраивать, т.к. при выборке нужно указать не только что выбираешь,но и откуда.
Может есть еще какие то способы?

PM MAIL ICQ   Вверх
Ипатьев
Дата 20.9.2009, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 2
Всего: 37



Цитата(hripun @  20.9.2009,  01:51 Найти цитируемый пост)
ам же написано "допустим" у меня стоят совершенно другие параметры.

что за манера, требовать конкретного ответа на туманный вопрос?

будут реальные параметры - будут реальные рекомендации.

что за проблема с загрузкой "основной базы"? и откуда появилась идея "разгрузить" её вводя дополнительную таблицу? откуда идея, что это все сработает?
почему специалисты должны тратить свое время не на исходную проблему, а какие-то неграмотные потуги по её решению?

Можно услышать, какие реальные проблемы привели к таким странным задачам?
PM MAIL   Вверх
bars80080
Дата 20.9.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



Цитата(hripun @  20.9.2009,  01:51 Найти цитируемый пост)
(база постоена так, что вся работа проходит через ник) можно переписать полностью все с нуля, но как то жалко...
кривая архитектура с течением времени только будет порождать проблемы. если надо связать таблицы, то просто надо ввести уникальный идентификатор без всяких "жалко". 

Цитата(hripun @  20.9.2009,  01:51 Найти цитируемый пост)
Просто хочеться сделать отдельный чат, чтоб разгрузить основную базу.

и это разгрузит сервер? и ничего, что придётся держать второе подключение?


PM MAIL WWW   Вверх
hripun
Дата 20.9.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



 smile  Конкрeтно :

регистрируеться новый пользователь,

 в таблицу uzer записываються : id, username, passwd, email, icq
 одновременно с этим нужно занести в таблицу bild  lager_torgov, laborator, ukreplen, germovorota

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

Как связать эти два параметра?????

Я сделал вот так.  Но не знаю правильно ли это....
Код

// Если все в порядке, сохранить информацию в БД  
  $result = $conn->query("insert into user values 
                         ('$id','$username','$usergame', sha1('$passwd'), '$email', '$admin') ");
  
  
    $lager_torgov=0; $rinok=0; $uch_sovet=0; $laborator=0; $barikad=0; $ukreplen=0; $germovorota=0;
  
  $result1 = $conn->query("insert into bild values ('id','$username','$lager_torgov','$rinok','$uch_sovet','$laborator','$barikad','$ukreplen','$germovorota')");
  
  if (!$result)
    throw new Exception('<span class="igr">Невозможно сохранение в БД - пожалуйста, '
                        .'попытайтесь позже.</span>');
return true;


PM MAIL ICQ   Вверх
Ипатьев
Дата 20.9.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 2
Всего: 37



Это онлайн игра что ли? 
Ну нельзя браться за написание игр, не умея даже дважды два сделать в базе данных.
В первую очередь здесь неправильная структура БД. 

Но, разумеется, никто ничего переделывать не будет.
Поэтому.
1. никаких отдельных баз для чатов.
2. два "запроса, по одному в каждую таблицу"
3. "либо по нику нужно делать отдельный столбец, либо все под id подстраивать".

Еще вопросы будут?

Это сообщение отредактировал(а) Ипатьев - 20.9.2009, 14:31
PM MAIL   Вверх
hripun
Дата 20.9.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет





да это игра) но у меня все регистрирует нормально .. я просто хотел узнать ,можно ли так делать,точнее правильно ли так будет!!!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.