Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Баланс на сайте идет в минус, как исправить?

Баланс на сайте идет в минус, как исправить?


     18.04.2021    модули, php, Баланс, минус    Общие вопросы по PHP, Модули    999

вопрос
Добрый день, сразу скажу, что в создании сайтов я почти-что ноль... столкнулся с такой вот проблемкой!
Установил на сайт Модуль "DLE Billing Master" Затем прописал в код, что-бы при добавлении статьи в Избранное с баланса списывалась сумма "10$"... Однако обнаружил, что баланс идет в минус... Подскажите пожалуйста.. как это исправить?
Ссылка на сам сайт

Ответа пока нет


17 комментариев

Solo
Юзер

Solo - 18 апреля 2021 17:19 -

$db->query( "UPDATE " . USERPREFIX . "_users SET user_balance = user_balance - 10 WHERE user_id = '{$member_id['user_id']}'" );
Код списывания со счета!

maks
Юзер

maks - 18 апреля 2021 17:37 -

Условие напиши.
Если баланс больше 10, то списываем и добавляем в закладки, если нет, то нет

Solo
Юзер

Solo - 18 апреля 2021 18:11 -

Можешь подсказать, как это сделать? :D

maks
Юзер

Solo
Юзер

Solo - 18 апреля 2021 18:15 -

maks,
Спасибо большое!

maks
Юзер

maks - 18 апреля 2021 18:19 -

Вначале надо ещё получить данные баланса, они в файле закладок наверное не известны

TeraMoune
Эксперт

TeraMoune - 18 апреля 2021 18:35 -

Данные баланса всегда доступны, всё, что касается колонок пользователя _users находится в массиве.

$member_id['user_balance']

Тестовый репозиторий установки плагинов: teramoune

Solo
Юзер

Solo - 18 апреля 2021 18:51 -

Ломаю голову уже больше часа, если вам не сложно.. можете прислать код.. который мне нужно туда вставить xD

Solo
Юзер

Solo - 18 апреля 2021 19:19 -

$balance = (float) $member_id['user_balance'];
if ( $balance > 10 ) {
$db->query( "UPDATE " . USERPREFIX . "_users SET user_balance=user_balance-10 WHERE user_id = '{$member_id['user_id']}'" );
}


Сделал так, но проблема в том, что в избранное добавляет и при 0 балансе...

maks
Юзер

maks - 18 апреля 2021 19:57 -

Что такое $balance ?

Solo
Юзер

Solo - 18 апреля 2021 20:00 -

Сам Баланс

maks
Юзер

maks - 18 апреля 2021 20:02 -

Тогда user_balance что? И закладки тоже в условие нужно написать

Solo
Юзер

Solo - 18 апреля 2021 20:04 -

user_balance - Прописан в базе данных (Тот-же баланс)

TeraMoune
Эксперт

TeraMoune - 18 апреля 2021 20:20 -

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

И я писал однажды давно, это всё делается в один запрос. В SET передаются два параметра обновление закладок с новыми ID и обновление баланса, и этот запрос единственный должен находится в условии которое срабатывает если баланс больше 10 (А так же можно добавить еще дополнительную проверку на равенство, а то когда будет 10 оно не сработает, потребуется именно 11 чтобы прошло $member_id['user_balance'] > 10)

Тестовый репозиторий установки плагинов: teramoune

Solo
Юзер

Solo - 18 апреля 2021 20:03 -

user_balance - Прописан в базе данных (Тот-же баланс)

maks
Юзер

maks - 18 апреля 2021 20:05 -

Два баланса? Зачем?

Solo
Юзер

Solo - 18 апреля 2021 20:07 -

$balance предал значение user_balance ради удобства... да и с БД траблы были... в итоге как-то дошел до этого... на половину работает xD

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх