Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Swiftie
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
1

Проверка платежей

05.02.2013, 00:37. Просмотров 921. Ответов 10
Метки нет (Все метки)

Приветствую, форумчане!
Есть таблица в которой 3 поля (id_bill, client_id, amount) Нужно получить список всех id_bill и выполнить для каждого billStatus, если billStatus окажется 60, выполнить функцию client ()->addTempBalance

Я уже сделал набросок:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    $db->query("SELECT * FROM bill_temp WHERE user_id='".$client_id."'");
     
    while($row = $db->getRows())
    {
            $txn_id = $row['id_bill'];
    }
    foreach($q->billStatus($txn_id,TRUE) as $idbill=>$v)
    {
            $mp = $v['amount'];
            if($v['status'] == 60)
            {
                    $db->query("SELECT amount FROM bill_temp WHERE id_user='".$client_id."' AND num_bill='".$idbill."'");
                    while($row = $db->getRows()) $moneyCheck = $row['amount'];
                    if($moneyCheck == $mp)
                    {
                            client ()->addTempBalance ($client_id, $amount);
                    }
                    else {
                            $db->query("DELETE FROM bill_temp WHERE num_bill='".$idbill."' AND user_id='".$client_id."'");
                    }
            }
            if($v['status'] > 100)
            {
                    $db->query("DELETE FROM bill_temp WHERE id_bill='".$idbill."' AND user_id='".$client_id."'");
            }
    }
Только он не работает - Undefined index: id_bill (на линии 5).
$db->getRows() возвращает Array

Прошу помощи в исправлении. Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 00:37
Ответы с готовыми решениями:

Приём платежей
Подскажите пожалуйста. Необходимо сделать задание, а именно пользователь...

Прием платежей Qiwi
Приветствую. Разместил на сайте форму для приема платежей через киви. от меня...

Система платежей в США
Каким образом можно осуществить снятие денег с кредитной карты на сайте,...

Прием платежей на кошелек в Я.Деньги
Доброго времени суток. Столкнулся с необходимостью прикрутить оплату к...

Автоматическая система обработки и приема платежей
Здраствуйте! Подскажите, реально ли осуществить следующее: у меня есть сайт где...

10
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
05.02.2013, 00:47 2
Ну Вам и показывает, в массиве $row нет значения с ключом id_bill

Не по теме:

Кстати, интересно звучит "айдибил" :D

0
Swiftie
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
05.02.2013, 01:38  [ТС] 3
Выполняю в терминале MySQL:
SQL
1
2
3
4
5
6
mysql> SELECT * FROM bill_temp WHERE user_id='1';
+-----------+-----------+----------+
|  client_id | num_bill  | amount  |
+-----------+-----------+----------+
|            1 | 5FuMivlE |   5000    |
+-----------+-----------+----------+
Т.е. значение в поле num_bill есть.
Если значения нету, следует другая ошибка: Undefined variable: txn_id (линия 7)
0
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
05.02.2013, 01:55 4
Я не правильно выразился - нет элемента в массиве, не значения, а вообще элемента, посмотрите, что Вы получаете в массиве $row через var_damp() или print_r()
0
Swiftie
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
05.02.2013, 02:27  [ТС] 5
fa2m, вот, смотрите (по другому не получается, скрипты настроены ничего не выводить).
PHP
1
2
3
4
5
6
while($row = $db->getRows())
{
    $ss = print_r($row);
    file_put_contents ("test.txt", $ss); 
    $txn_id = $row['num_bill'];
}
В файле запись: 1
0
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
05.02.2013, 02:40 6
Попробуйте так
PHP
1
2
3
4
5
while($row = $db->getRows())
{
    foreach($row as $key => $value)
    file_put_contents ("test.txt", $key . ' => ' . $value . '\n', FILE_APPEND);
}
0
Swiftie
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
05.02.2013, 02:44  [ТС] 7
Результат: 0 => Array\n
функция getRows
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
public function getRows($arg = null)
     {
         $result = $this->resulter($arg);
         
         if(!$this->hasRows ($result)) 
            return array();
 
         $rows = array();
         mysql_data_seek($result, 0);
         while($row = mysql_fetch_array($result, MYSQL_ASSOC))
             $rows[] = $row;
         return $rows;
     }
0
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
05.02.2013, 02:48 8
Значит так ))))
PHP
1
2
3
4
5
6
$row = $db->getRows();
foreach($row as $data_array)
{
    foreach($data_array as $key => $value)
file_put_contents ("test.txt", $key . ' => ' . $value . '\n', FILE_APPEND);
}
0
Swiftie
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
05.02.2013, 02:56  [ТС] 9
Результат: client_id => 1\nnum_bill => Z5ztbXDS\namount => 1024\n

Не по теме:

Я уже засыпаю :D

0
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
05.02.2013, 03:03 10
ну вот видите, id_bill нет )))

Добавлено через 4 минуты
Может Вы ошиблись и вместо $row['num_bill'] написали в 5-ой стоке $row['id_bill']

Добавлено через 1 минуту
Всё, спокойной ночи
0
Swiftie
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
05.02.2013, 03:06  [ТС] 11
))
Вот финальный код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
            $db->query("SELECT * FROM bill_temp WHERE user_id='".$usrid."'");
            // Check if have rows
            if($db->numrows() != 0)
            {
                while($row = $db->getRows())
                {
                    $txn_id = $row['num_bill'];
                }
                foreach($q->billStatus($txn_id,TRUE) as $idbill=>$v) 
                {
                    $mp = $v['amount'];
                    if($v['status'] == 60)
                    {
                        $db->query("SELECT amount FROM bill_temp WHERE user_id='".$usrid."' AND num_bill='".$idbill."'");
                        while($row = $db->getRows()) $moneyCheck = $row['amount'];
                        // Amount checking
                        if($moneyCheck == $mp)
                        {
                            //some code
                        }
                        else {
                            //some code
                        }
                    }
                    if($v['status'] > 100)
                    {
                        //some code
                    }
                }
            }
            else
                echo ('numrows == 0');
Но Undefined index: num_bill никуда не исчезло )

Цитата Сообщение от fa2m Посмотреть сообщение
Всё, спокойной ночи
И Вам того же
0
05.02.2013, 03:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2013, 03:06

Ребят, здравствуйте, нужен пхп-скрипт для платежей яндекс-деньгами
нужно сделать такой пхп-скрипт, который мог бы сам совершать платежи через...

График платежей
Помогите, пожалуйста, реализовать график платежей. Есть - дата заключения...

Прием платежей
Добрый вечер, товарищи-программисты. Пишу клиент-серверное приложение. Сервер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru