Проблема при работе с несколькими строками

Ysn

Guest
Проблема при работе с несколькими строками

Передо мной стоит такая задача:

Сегодняшняя дата, Общая сумма, Прибавление к сумме, Вычет из суммы.

Стоит мне все это считывать - я получаю массив. Считаю все как надо - замечательно... И результат мне нужно записывать второй строчкой. Отлично. Но дальше-то что? Теперь мне надо всегда считать новые данные, отталкиваясь от второй строчки. А у меня прибавление/вычет суммы прибавляется и вычитается от общей суммы, в первой строке, а не в той, которая самая новенькая... Как это сделать?
 

Фанат

oncle terrible
Команда форума
это сообщение надо оправить в рамочку и повесить на стенку.
Нет, не в назидание.
Просто для красоты.
 

SelenIT

IT-лунатик :)
Ysn, не затруднит пояснить, результат каких действий/вычислений тебе нужно занести "во вторую строчку"? И если можно, продемонстрируй структуру таблицы и запрос.
 

Ysn

Guest
Что-то я не понял намека Фаната...
SelenIT, нисколько. Итак:

Общая сумма. Процент. Дополнительный счет. Дата (любого действия).

Человек, скажем, зашел 2001.01.01. Увеличил общую сумму. Там, скажем, теперь 100 у него. Процент должен начисляться, например, каждую неделю. Пускай, для простоты, процент буедт равен 10. Ну так вот, 2001.01.01 человек зашел. Увеличил счет. Значит, записалась в базу дата действия. Итак, первая строчка:

100|10|0|01.01.01

Поскольку процент начисляется каждую неделю - человек хоть по 10 раз в сутки будет заходить на сайт - будет видеть то же самое. Но как только наступит 2001.01.07 или более поздняя дата, и человек зайдет - калькулятор посчитает 10 процентов от 100, и должно теперь в базе быть:

100|10|0|01.01.01
100|10|10|01.01.07

В третий раз:

100|10|0|01.01.01
100|10|10|01.01.07
100|10|20|01.01.14

Если человек, допустим, 15-го числа зайдет, и переведет с дополнительного счета на основной, то должно получится следующее:

100|10|0|01.01.01
100|10|10|01.01.07
100|10|20|01.01.14
120|10|0|01.01.15

Вот... У меня это не получается. Почему? Ну, прежде всего, потому что mysql_fetch_array - хапуга... всю таблицу берет. Когда же я пишу $aaa['balans'], то получаю 100 (значение баланса 01.01.01), а не 120 (01.01.15). Я понимаю, что можно сделать при помощи WHERE дата, но, во-первых, у меня так и не получилось заставить работать TIMESTAMP (чего-то я неправильно делаю), во-вторых, дата-то у меня будет неизвестной... То есть, я не могу работать с той конкретной строкой, с какой хочу.

p.s. Уж извините за сумбурность - поставить грамотно вопрос можно, только зная половину ответа.
 

Фанат

oncle terrible
Команда форума
а хапугой функцию называть, сожно и не зная половины ответа :)
 

Ysn

Guest
Верно. Можно. Я и воспользовался этой возможностью.
 

Фанат

oncle terrible
Команда форума
Неверно. Нельзя.
Будь вежливее к функциям.
Хотя, впрочем, боюсь, тебе это не поможет
 

alexhemp

Новичок
Ysn
Тебе нужно
1. Изучать теорию реляционных БД
2. Понять, что процесс начисления процентов зависит только от прошедшего времени и это - ф-ця от времени.
3. Понять что начисление процентов нужно вести независимо от того зашел или нет человек на сайт (скиптом по Cron-у)

В общем как говорит Фанат - клиент не операбелен. Опыта программирования очень мало - это явно видно. Учиться и еще раз учиться - прежде всего программированию в целом а не только на PHP.
 

Фанат

oncle terrible
Команда форума
alexhemp
2. Понять, что процесс начисления процентов зависит только от прошедшего времени и это - ф-ця от времени.
3. Понять что начисление процентов нужно вести независимо от того зашел или нет человек на сайт (скиптом по Cron-у)
А эти две установки не противоречат друг другу?
Я не очень силен в банковском деле, но разве там не делается так же, как и везде - записываются в базу только транзакции, а проценты вычисляются уже на их основе?
 
Сверху