ФорумПрограммированиеPHP для идиотов → Начисления процентов.

Начисления процентов.

  • Prof

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

    Spritz 3 декабря 2009 г. 8:45, спустя 20 часов 13 минут 53 секунды

    Проблема вот какая стала опять:

    Зарегестрировались 2 пользователя 02.12.2009, 1 поьзователь попопонил свой счет 02.12.2009 на сумму 10 у.е . 03.12.2009 у первого пользователя на счету стало 10,1 у.е, 2 пользователь решил тоже пополнить и пополнил свой счет 03.12.2009 на сумму 10 у.е и на счету у него стало 10,1 у.е.

     
    <?
    $d_time = $row['date_deposit'];
    $n_time = time();

    $deposit = $row["money"];
    $percent = 1 / 100;
    ?>
    <table width="400" border=0 cellpadding=2 cellspacing=0><tr>
    <td height="25">&nbsp;</td>
    </tr><tr>
    <td><b>Баланс:</b></td>
    <td>$<b><? echo $row["money"]+round(($n_time - $d_time)/(24*3600)) * ($row["money"] * $percent); ?></b></td></tr>
    <tr>
    <td><b>Всего заработано:</b></td>
    <td>$<b><? echo round(($n_time - $d_time)/(24*3600)) * ($row["money"] * $percent); ?></b></td></tr>
  • adw0rd

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

    Spritz 3 декабря 2009 г. 11:14, спустя 2 часа 29 минут 12 секунд

    Prof, И какова проблема то? Я уже вам сказал ОБНОВЛЯЙТЕ ПОЛЕ date_deposit когда начисляете ДЕПОЗИТ!!!!!!1111111111
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Prof

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

    Spritz 3 декабря 2009 г. 13:16, спустя 2 часа 1 минуту 24 секунды


    Prof, И какова проблема то? Я уже вам сказал ОБНОВЛЯЙТЕ ПОЛЕ date_deposit когда начисляете ДЕПОЗИТ!!!!!!1111111111


    Вот этот код надо добавить?

    ALTER TABLE `tb_users` ADD `date_deposit = NOW()` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
  • NRG

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

    Spritz 3 декабря 2009 г. 13:20, спустя 4 минуты 1 секунду



    Prof, И какова проблема то? Я уже вам сказал ОБНОВЛЯЙТЕ ПОЛЕ date_deposit когда начисляете ДЕПОЗИТ!!!!!!1111111111


    Вот этот код надо добавить?

    ALTER TABLE `tb_users` ADD `date_deposit = NOW()` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

    ну а какие есть догадки у самого по этому поводу ??
    Спустя 183 сек.

    У меня есть небольшой опыт в написании сайтов, я лучше сам напишу, не очень навороченый но и не плохой.

    судя потому что вы о каждом шаге спрашиваете , то опыта у вас 0.
    и сами вы его будете очень долго писать…
  • adw0rd

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

    Spritz 3 декабря 2009 г. 14:13, спустя 52 минуты 57 секунд

    Prof, покажите sql код, который вы запускаете для записи депозита?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Prof

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

    Spritz 4 декабря 2009 г. 14:34, спустя 1 день 21 минуту

    Все работает, только есть небольшая проблема опять.
    Например: зарегестрировался 01.12.2009 попонил 10, 03.12.2009 баланс стал 10.2, и захотел еще пополнить 10, после пополнения баланс стал 20, а по идеи должен быть 20.2 а вот 04.12.2009 уже должен быть 20.4 .

    Депозит $row["money"] и начисления процентов $row["money_prec"] стал хранить по отдельности, но говорят всеравно не то, я не понимаю в чем дело

    <?
    include ('header.php');

    $lole=$_COOKIE["usNick"];
    require('config.php');
    $mysql_queries++;
    $sql="SELECT *, UNIX_TIMESTAMP(`date_deposit`) as `date_deposit` FROM tb_users WHERE username='$lole'";
    $result=mysql_query($sql);
    $row=mysql_fetch_array($result);
    $almoney=$row["money"]+$row["paid"];
    mysql_close($con);
    if($lole==" " or $lole==""){
    echo '
    Данная страница доступна только зарегестрированным пользователям!<br>
    Пожалуйста зарегистрируйтесь, либо войдите в свой аккаунт.
    ';
    include('footer.php');
    exit() ;
    }

    $userName=($_COOKIE["usNick"]);
    $d_reg = $row["joindate"];
    $d_logreg = $row['lastlogdate'];

    $d_time = $row['date_deposit'];
    $n_time = time();

    $deposit = $row["money"];
    $money_prec = $row["money_prec"];
    $money_prec = ($n_time - $d_time)/(24*3600) * ($row["money"] * $percent);
    $percent = 1 / 100;
    ?>
    <table width="400" border=0 cellpadding=2 cellspacing=0><tr>
    <td height="25">&nbsp;</td>
    </tr><tr>
    <td><b>Баланс:</b></td>
    <td>$<b><? echo $row["money"]+$row["money_prec"]; ?></b></td></tr>
    <tr>
    <td><b>Всего заработано:</b></td>
    <td>$<b><? echo $row["money_prec"]; ?></b></td></tr>
    </table>


    <?
    include ('footer.php');
    ?>
  • phpdude

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

    Spritz 4 декабря 2009 г. 14:59, спустя 25 минут


    $lole=$_COOKIE["usNick"];

    $sql="SELECT *, UNIX_TIMESTAMP(`date_deposit`) as `date_deposit` FROM tb_users WHERE username='$lole'";


    инъекция
    Сапожник без сапог
  • Prof

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

    Spritz 4 декабря 2009 г. 16:50, спустя 1 час 51 минуту 16 секунд



    $lole=$_COOKIE["usNick"];

    $sql="SELECT *, UNIX_TIMESTAMP(`date_deposit`) as `date_deposit` FROM tb_users WHERE username='$lole'";


    инъекция


    Что ты этим хотел сказать?
  • AlexB

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

    Spritz 4 декабря 2009 г. 16:51, спустя 1 минуту 20 секунд

  • phpdude

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

    Spritz 4 декабря 2009 г. 16:58, спустя 6 минут 25 секунд

    тем кто бычит, обычно не повторяю :)
    Сапожник без сапог
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 4 декабря 2009 г. 16:58, спустя 40 секунд

    Prof, если ты собираешься работать с баблом и спрашиваешь что это , я бы на твоем месте лучше бы нанял опытных девелоперов…
  • adw0rd

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

    Spritz 4 декабря 2009 г. 17:07, спустя 8 минут 24 секунды

    Prof, всетаки думаю вам надо использовать cron и обновлять каждый день данные в money_prec
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • NRG

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

    Spritz 4 декабря 2009 г. 17:07, спустя 10 секунд


    Prof, если ты собираешься работать с баблом и спрашиваешь что это , я бы на твоем месте лучше бы нанял опытных девелоперов…

    Baboot, он сказал что он может сам все сделать.
    наверное пусть сам и делает…
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 4 декабря 2009 г. 17:09, спустя 1 минуту 58 секунд

    NRG, ну удачи.. Но для начало бы доку про безопасность бегло пролистал бы…
  • adw0rd

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

    Spritz 4 декабря 2009 г. 17:11, спустя 2 минуты 10 секунд

    крон:
    0 0 * * * php -f money_prec_update.php

    листинг money_prec_update.php:

    <?php
    mysql_query("UPDATE `tb_users` SET `money_prec` = `money_prec` + (`money` * 0.01)");
    ?>


    что-то типа того
    https://smappi.org/ - платформа по созданию API на все случаи жизни

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