Вот практический пример с PHP / MySQL.
Допустим, ради аргумента у вас есть таблица базы данных MySQL, как это:
И в этой таблице вы имеете список платежей, которые будут сделаны. Если платеж уже сделан, то transaction_hash Поле содержит транзакции хэш платеж был сделан с, в противном случае она пуста.
Допустим, ради аргумента у вас есть таблица базы данных MySQL, как это:
Код:
CREATE TABLE `bitcoin_payments` (
`Id` INT (10) без знака NOT NULL AUTO_INCREMENT,
`Bitcoin_address` VARCHAR (34) NOT NULL,
`Payment_in_satoshi` BIGINT (20) без знака NOT NULL DEFAULT '0',
`Transaction_hash` VARCHAR (64) NOT NULL,
ПЕРВИЧНЫЙ КЛЮЧ ( `id`)
);
`Id` INT (10) без знака NOT NULL AUTO_INCREMENT,
`Bitcoin_address` VARCHAR (34) NOT NULL,
`Payment_in_satoshi` BIGINT (20) без знака NOT NULL DEFAULT '0',
`Transaction_hash` VARCHAR (64) NOT NULL,
ПЕРВИЧНЫЙ КЛЮЧ ( `id`)
);
И в этой таблице вы имеете список платежей, которые будут сделаны. Если платеж уже сделан, то transaction_hash Поле содержит транзакции хэш платеж был сделан с, в противном случае она пуста.
Код:
PHP
$ справзнак равно"GUID_HERE";
$ firstpasswordзнак равно"PASSWORD_HERE";
$ secondpasswordзнак равно"PASSWORD_HERE";
// Ваш MySQL логин базы данных учетных данных здесь
$ хостзнак равно«Локальный»; // MySQL хост
$ пользователюзнак равно«»; // пользователь MySQL
$ пасзнак равно«»; // MySQL пароль для пользователя выше
$ дбзнак равно«»; // База данных MySQL использовать
mysql_select_db($ дб, mysql_connect($ хост, $ пользователю, $ пас));
$ результатзнак равноmysql_query("SELECT` id`, `` bitcoin_address`, payment_in_satoshi` ОТ `` bitcoin_payments` ГДЕ transaction_hash` = '' ORDER BY `id` ASC");
$ recipient_list= Массив ();
$ new_paid_idsзнак равно«»;
если(mysql_num_rows($ результат)>0)
{
в то время как($ строказнак равноmysql_fetch_assoc($ результат))
{
$ new_paid_ids.знак равно$ строка["Я бы"]."";
$ recipient_list[$ строка["Bitcoin_address"знак равно$ строка["Payment_in_satoshi"];
}
$ new_paid_idsзнак равноотделка($ new_paid_ids, "");
}
если(подсчитывать($ recipient_list)>0)
{
$ реципиентовзнак равноUrlEncode(json_encode($ recipient_list));
$ json_url знак равно «http://blockchain.info/merchant/$ справ/ Sendmany? Пароль =$ firstpassword&second_password =$ secondpassword&реципиенты =$ реципиентов";
$ json_data знак равно file_get_contents($ json_url);
если($ http_response_header[0] =="HTTP / 1.1 200 OK")
{
$ json_feed знак равно json_decode($ json_data);
$ ошибка знак равно $ json_feed->ошибка;
если(нулевой($ ошибка))
{
$ сообщение знак равно $ json_feed->сообщение;
$ TXID знак равно $ json_feed->tx_hash;
mysql_query("UPDATE` bitcoin_address` SET `transaction_hash` = '".mysql_real_escape_string($ TXID)."» WHERE `id` IN (".$ new_paid_ids.")");
эхо $ сообщение."- ") //-->
$ справзнак равно"GUID_HERE";
$ firstpasswordзнак равно"PASSWORD_HERE";
$ secondpasswordзнак равно"PASSWORD_HERE";
// Ваш MySQL логин базы данных учетных данных здесь
$ хостзнак равно«Локальный»; // MySQL хост
$ пользователюзнак равно«»; // пользователь MySQL
$ пасзнак равно«»; // MySQL пароль для пользователя выше
$ дбзнак равно«»; // База данных MySQL использовать
mysql_select_db($ дб, mysql_connect($ хост, $ пользователю, $ пас));
$ результатзнак равноmysql_query("SELECT` id`, `` bitcoin_address`, payment_in_satoshi` ОТ `` bitcoin_payments` ГДЕ transaction_hash` = '' ORDER BY `id` ASC");
$ recipient_list= Массив ();
$ new_paid_idsзнак равно«»;
если(mysql_num_rows($ результат)>0)
{
в то время как($ строказнак равноmysql_fetch_assoc($ результат))
{
$ new_paid_ids.знак равно$ строка["Я бы"]."";
$ recipient_list[$ строка["Bitcoin_address"знак равно$ строка["Payment_in_satoshi"];
}
$ new_paid_idsзнак равноотделка($ new_paid_ids, "");
}
если(подсчитывать($ recipient_list)>0)
{
$ реципиентовзнак равноUrlEncode(json_encode($ recipient_list));
$ json_url знак равно «http://blockchain.info/merchant/$ справ/ Sendmany? Пароль =$ firstpassword&second_password =$ secondpassword&реципиенты =$ реципиентов";
$ json_data знак равно file_get_contents($ json_url);
если($ http_response_header[0] =="HTTP / 1.1 200 OK")
{
$ json_feed знак равно json_decode($ json_data);
$ ошибка знак равно $ json_feed->ошибка;
если(нулевой($ ошибка))
{
$ сообщение знак равно $ json_feed->сообщение;
$ TXID знак равно $ json_feed->tx_hash;
mysql_query("UPDATE` bitcoin_address` SET `transaction_hash` = '".mysql_real_escape_string($ TXID)."» WHERE `id` IN (".$ new_paid_ids.")");
эхо $ сообщение."- ") //-->