ФорумПрограммированиеPHP для идиотов → base1 -> base2

base1 -> base2

  • pyhtelkin

    Сообщения: 103 Репутация: N Группа: Кто попало

    Spritz 16 марта 2008 г. 23:32

    Здравствуйте. Подскажите с порядком действий. Механизм переноса данных из базы в базу через модератора. Кем-то создана заявка, модератор ее удаляет или заносит в базу, если занес - выслал автору ее "координаты".
    Звенья: [Z база заявок] -> [M модератор] -> [O база одобренных]

    При кажущейся простоте возникает вопрос. Как правильно реализовать этот механизм, если ТЕОРЕТИЧЕСКИ модераторов станет несколько. Только заводить в 2х базах дополнительные ячейки для того чтобы поставить на ряд флаг "в обработке"? Проблем ведь существует несколько, одну заявку могут как взять одновременно несколько модераторов из базы Z, так и отослать автору неверный id заявки при ее записи в базу О. С другой строны, если ставится такой флаг, то он должен быть строго персонифицированным, иначе ряд станет недоступным при простой перезагрузке страницы.

    Существует ли простое решение?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 17 марта 2008 г. 1:04, спустя 1 час 31 минуту 5 секунд

    зачем вообще нужны 2 базы…
    даже одной таблицы достаточно - добавь поле "ид модера обработавшего заказ"

    зы концовка поста ваще съела мой моск..
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 17 марта 2008 г. 8:51, спустя 7 часов 47 минут 20 секунд

    да, вот абзац последний полный п
    тут 1 таблицы достаточно, сделать для неё ряд state (текущее состояние) и moderator_id и все и нифига не надо какими-то слова убивать людей )
    все умрут, а я изумруд
  • pyhtelkin

    Сообщения: 103 Репутация: N Группа: Кто попало

    Spritz 17 марта 2008 г. 16:48, спустя 7 часов 57 минут 3 секунды

    Дано 2 базы. Одна от другой далеко и слиянию они не подлежат. Иначе бы я спрашивал как оптимизировать хранение. Так что меня морочит перенос, как и спросил.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 17 марта 2008 г. 17:39, спустя 50 минут 38 секунд

    тогда ты недостаточно описал проблему.
    почему 2 базы, что изменится когда модераторов станет больше..
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 17 марта 2008 г. 17:40, спустя 1 минуту 48 секунд

    а, вроде дошло - сделать флаг - заявка взята в обработку, и если кто-то один взял - всех остальных посылаать лесом.. ну и из взявшенго на взякий случай
    можно опять таки ограничется только хранением ид модера. от задачи зависит. а что у тя за ряды - пардон, телепатией не владею..
  • pyhtelkin

    Сообщения: 103 Репутация: N Группа: Кто попало

    Spritz 17 марта 2008 г. 19:17, спустя 1 час 36 минут 31 секунду

    Да, с флагами - это понятно многим. Но на большинство "почему" могу верно ответить лишь: "так исторически сложилось". Мне пока сложно вам даже вопросы задать правильно и формулировать. Я и так предельно абстрагировал задачу, детализация будет вредна. Решение скорее вижу сам, проблема только с определенными техническими моментами реализации. Думаю что правильнее будет разложить по конкретным вопросам.

    Например как записать данные и тут же вернуть их id которые было назначено в базе с помощью auto_increment. Предварительно - нельзя, может существовать параллельный процесс. Проблема в том что "зацепиться" к самим данным или их части как к идентификатору не представляется возможным.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 17 марта 2008 г. 20:43, спустя 1 час 26 минут 13 секунд

    LAST_INSERT_ID()
  • pyhtelkin

    Сообщения: 103 Репутация: N Группа: Кто попало

    Spritz 17 марта 2008 г. 23:27, спустя 2 часа 43 минуты 34 секунды

    За это спасибо. Т.е. даже если INSERT делает 2 человека одновременно, каждый получает свой ID в соответствии со своей очередностью записи? А надо ли каким-то образом персонифицировать подключение?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 17 марта 2008 г. 23:41, спустя 13 минут 53 секунды

    http://ua2.php.net/manual/ru/function.mysql-connect.php
    внимание на то, что возвращает эта ф-ция
  • pyhtelkin

    Сообщения: 103 Репутация: N Группа: Кто попало

    Spritz 18 марта 2008 г. 1:27, спустя 1 час 46 минут 48 секунд

    Не обижайтесь, я пишу в раздел для новичков ) Я прочел как про lastid так и заново про connect. Вообще стараюсь сам все узнавать, но для меня многое, пока что просто заумные фразы. Подвопрос (про connect) у меня родился после прочтения этой самой мануалки. Спасибо. Может ли "имя пользователя владельца процесса сервиса" выступать (например) id сессии администратора или его "номер"? Или это какое-то другое имя?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 18 марта 2008 г. 3:49, спустя 2 часа 21 минуту 43 секунды

    Дык кто обижается-то. Вопросы вполне нормальные.) И даже очень. Ненормальные, это когда "я не шарю, и шарить нехочу, но мне ща надо", таких к сожалению дофига..
    другое. идентификатор формируется при коннекте к субд, и к ид владельцу по большому счёту неотносится.
  • pyhtelkin

    Сообщения: 103 Репутация: N Группа: Кто попало

    Spritz 19 марта 2008 г. 0:54, спустя 21 час 5 минут 16 секунд

    Хорошо, а будет ли вред при явном указании этого идентификатора? Просто если мыслить логически, раз существует уникальная сессия, которая еще каждый раз проверяется на целостность, пусть каждый чел, а не только модератор совершает коннект в соответствии со своей сессией (если понимаю правильно, автоматом идентификатор каждый коннект переназначается ее заново). Я также понимаю что РЕАЛЬНО ощутимого эффекта это не даст, но … "вил" то тоже видимо нет?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 19 марта 2008 г. 8:18, спустя 7 часов 23 минуты 36 секунд

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

Пожалуйста, авторизуйтесь, чтобы написать комментарий!