[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP + MySQL проектирование базы данных
ksaniol
Надесюсь кто-то сможет предлождить оптимальный вариант решения моей задачи.

Делаю скрипт обменника электронных валют. Есть таблица юзеров с различными полями. Есть 3 вида электронных валют, для них созданы отдельные 6 столбцов в таблице юзеров. 3 столбца это номера кошельков соответствующих электронных валют, еще 3 столбца это баланс по каждой валюте.

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

У каждой валюты будут параметры (название и т.п.) А для каждого юзера нужна возможность присвоения номера кошелька и баланса по валютам.

Надеюсь суть проблемы ясна и кто-то сталкивался с подобным.



Спустя 25 минут, 44 секунды (13.10.2010 - 11:46) sergeiss написал(а):
То есть, ты предлагаешь вот так вот за тебя всё написать с нуля???

Спустя 2 часа, 37 минут, 56 секунд (13.10.2010 - 14:24) ksaniol написал(а):
6к сообщений на это форуме и ты уже считаешь себя супер "экспертом"? на каждом форуме полно таких умников, которые выёживаются и по делу ничего не говорят. Что самое интересное, чем больше сообщений, тем больше зазнаются люди, думая, что уже поднялись выше других и теперь можно поплевать сверху.

Для тех, кто всё таки нормально прочитал первое сообщение и может помочь:

предположим есть таблицы (другого более рационального способа пока не найти)

1. users
id; user_name

2. currency
id; cerrency_name; param1; param2; param3

3. money
id; user_id; currency_id; balance

Из этих таблиц впринципе нужную информацию можно получить одним запросом.

Появляется проблема: настройка обмена между валютами в процентном соотношении (нужно учесть, что валюты можно добавлять/удалять и их может 10 и более)

Спустя 2 минуты, 36 секунд (13.10.2010 - 14:27) linker написал(а):
ksaniol
Понимаешь, форум помогает, если ты зашел в тупик в каком-то вопросе, но здесь не делают за тебя твою работу.

Спустя 7 минут, 5 секунд (13.10.2010 - 14:34) ksaniol написал(а):
еще один эксперт??? вы хоть сообщения читаете?

Спустя 9 минут, 8 секунд (13.10.2010 - 14:43) waldicom написал(а):
Не мешало бы точнее описать задачу. Та структура таблиц, которую Вы привели кажется мне подходящей. Но что за "...настройка обмена между валютами в процентном соотношении"?

Спустя 4 минуты, 41 секунда (13.10.2010 - 14:48) ksaniol написал(а):
Предположим, есть 10 валют, каждую можно обменять на другую, в этом направлении определенный курс (напримпер, поменять яндекс на вебмани - 5%). Т.е. теоретически может быть 90 направлений обмена с определенными курсами, так же некоторые направления могут быть закрыты для обмена.

Валюты могут удалятся и добавлться новые, особенно удаление надо предусмотреть наперед.

Спустя 22 минуты, 48 секунд (13.10.2010 - 15:10) vasa_c написал(а):
Да, конечно, суть проблемы ясна и все сталкивались с подобным, когда структура и система не подходит.
Решается это просто: делается другая структура и система.

Спустя 5 минут, 40 секунд (13.10.2010 - 15:16) linker написал(а):
Ну как мне видится, есть таблица с валютами

id - ID валюты
name - Название валюты

и есть таблица отношений
currid1 - Валюта один относится к
currid2 - валюте два
perc - в соотношении

и не надо 90 записей для этого дела, например, есть три валюты: рубль, доллар, евро. Должны быть такие отношения:

доллар - рубль - 30
евро - доллар - 2
евро - рубль - 40

Допустим меняем 30 рублей на доллары, находим отношение доллара к рублю и тупо умножаем рубли на значение отношения. Если наоборот, доллары на рубли меняем, то делим. Имхо.


Спустя 7 минут, 58 секунд (13.10.2010 - 15:24) ksaniol написал(а):
На каждое направление выставляется своя комиссия за обмен (либо обмен может быть вообще закрыт) т.е. пропорции по какой-то другой валюте не подходят (

Спустя 6 минут, 3 секунды (13.10.2010 - 15:30) linker написал(а):
Ну добавь еще два поля, одно для значения при обратном направлении и состояние запрещающее какое-либо из направлений. Ну можно конечно расширить и количество записей-направлений.

Спустя 10 минут, 43 секунды (13.10.2010 - 15:41) sergeiss написал(а):
ksaniol - если ты такой умный... То зачем спрашиваешь? Изначально ты как спросил, так тебе и ответили. Если хочешь, чтобы тебе ПОМОГЛИ, то сначала покажи, что ты сам сделал. Тут такой подход.
Телепатов тут нэма, как гласит подпись одного из ответивших тебе smile.gif (между прочим, третий из Экспертов, ответивших в твоей теме).

И если ты ВНИМАТЕЛЬНО почитаешь форум, то увидишь: тут очень хорошо помогают. Но только тем, кто готов сам работать, пользуясь данными ему подсказками. Кто умеет формулировать вопросы. Кто уже подумал прежде, чем задавать вопросы.

Сформулируй четко задачу. Покажи, что ты уже сделал. Опиши, что ты хотел и что получил. А мы вместе разберемся, как этого достичь.

PS.
Цитата (ksaniol @ 13.10.2010 - 12:21)
Та структура и система, которая есть сейчас естественно не подходит.

А что за структура, почему не подходит??? Ты знаешь? Молодец smile.gif А мы - не знаем. Ну так опиши!

PPS. И еще. Если хочешь, чтобы у людей было желание ответить тебе, то относись к ним с уважением. Элементарное правило, вроде бы... Которое надо соблюдать и в жизни, и в виртуальном общении.

Спустя 12 минут, 25 секунд (13.10.2010 - 15:53) ksaniol написал(а):
sergeiss Изначальная струкрура описана в первом сообщении, решение найдено (если конечно оно подходит), структуру я описал. Теперь встала проблема с обменом и управлением валютами.

linker, тогда всё равно получается для 10 видов валют - 90 записей будет в таблице...

Хочется зарание предусмотреть подводные камни (что я не сделал когда запихнул все валюты в таблицу юзера) чтобы потом не пришлось переделывать вообще всё.

Спустя 5 часов, 33 минуты, 48 секунд (13.10.2010 - 21:27) linker написал(а):
Ну и пускай получаются, единственное, что когда меняется одно направление, то надо будет, видимо, искать и менять обратное. Не думаю, что тут прямо есть какая-то принципиальная вещь, из-за которой может рухнуть все и заново переделывать. По-моему, вполне адекватный вариант.

P.S. Если в одной записи умещать оба направления (два поля для значения прямого и обратного расчета), то будет не 90, а меньше записей. Таким образом кстати можно избежать лишних телодвижений, когда будет меняться курс валют.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.