Технический сбой

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

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


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

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

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


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

Solo
Юзер

Solo - -

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

maks
Юзер

maks - -

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

Solo
Юзер

Solo - -

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

Solo
Юзер

Solo - -

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

maks
Юзер

maks - -

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

TeraMoune
Эксперт

TeraMoune - -

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

$member_id['user_balance']

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

Solo
Юзер

Solo - -

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

Solo
Юзер

Solo - -

$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 - -

Что такое $balance ?

Solo
Юзер

Solo - -

Сам Баланс

maks
Юзер

maks - -

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

Solo
Юзер

Solo - -

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

TeraMoune
Эксперт

TeraMoune - -

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

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

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

Solo
Юзер

Solo - -

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

maks
Юзер

maks - -

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

Solo
Юзер

Solo - -

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

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

наверх