Делаю личную интеграцию под биржу криптовалют. У меня есть список ВОЗМОЖНЫХ ставок (ордеров), каждая их которых оформлена как form, передающая в input'ах данные для создания ордеров:
<form action="order_creat.php" method="post" target="_blank" title="Покупаем крипту дешевле. Наращивается <?=$uah;?>. SHORT.">
<input type="text" size="5" name="s" value="<?=$b;?>" readonly>
<input type="text" size="7" name="quantity" value="<?= number_format($b_koll,8, '.', '');?>" class="colortext">
<input type="text" size="1" name="kripta" value="<?= $eth;?>" readonly>
<input type="text" size="4" name="oncost" value="<?= $per_cost;?>" readonly>
<input type="text" size="10" name="price" value="<?= number_format($b_cost,8, '.', '');?>" class="colortext">
<input type="text" size="5" name="on_summ" value="<?= $on_summ;?>" readonly>
<input type="text" size="8" name="summ" value="<?= number_format($b_summ,7, '.', '');?>" readonly>
<input type="text" size="5" name="block" value="<?='+'. number_format($profit,2, '.', ' ').$uah;?>">
<input type="text" size="1" name="block_id" value="1">
<input type="hidden" name="order_status" value="<?=$order_status_cr;?>">
<input type="hidden" name="pair" value="<?=$eth_uah;?>">
<input type="hidden" name="type" value="<?=$b_type;?>">
<!--input type="submit" value="Создать ордер! +UAH"-->
<?resolution_sell(number_format($b_summ,7, '.', ''), $b);?>
</form>
<form action="order_creat.php" method="post" target="_blank" title="Покупаем валюту дешевле. Наращивается <?=$eth;?>. SHORT.">
<input type="text" size="5" name="s" value="<?= $b;?>" readonly>
<input type="text" size="7" name="quantity" value="<?= number_format($bkk_koll,6, '.', '');?>" class="colortext">
<input type="text" size="1" name="kripta" value="<?= $eth;?>" readonly>
<input type="text" size="4" name="oncost" value="<?= $per_cost;?>" readonly>
<input type="text" size="10" name="price" value="<?= number_format($bkk_cost,8, '.', '');?>" class="colortext">
<input type="text" size="5" name="on_summ" value="<?= $on_summ;?>" readonly>
<input type="text" size="8" name="summ" value="<?= number_format($bkk_summ,7, '.', '');?>" readonly>
<input type="text" size="5" name="block" value="<?='+'. number_format($bkk_profit,6, '.', ' ').$eth;?>">
<input type="text" size="1" name="block_id" value="1">
<input type="hidden" name="order_status" value="<?=$order_status_cr;?>">
<input type="hidden" name="pair" value="<?=$eth_uah;?>">
<input type="hidden" name="type" value="<?=$b_type;?>">
<!--input type="submit" value="Создать ордер! +ETH"-->
<?resolution_sell(number_format($bkk_summ,7, '.', ''), $b);
echo $b_komis_str .' - '. number_format($b_komis,6, '.', ' ') . $eth;
?>
</form>
возле каждой такой ВОЗМОЖНОЙ ставки есть кнопка "Создать ордер", которая передаёт по api на биржу данные для создания ордера: pair - валютная пара quantity - кол-во по ордеру price - цена по ордеру type - тип ордера, может принимать следующие значения: + некоторые данные для записи мне в базу.
Задача следующая: я хочу сделать так, чтоб не нажимать возле каждой ставки "Создать ордер", а отметить их чекбоксами и один раз нажав "создать ордера" отправить эти все данные. Я знаю, что через чек-боксы можно передавать данные в массиве, но они передаются из одного поля. А у меня полей много. Можно ли это решить? Спасибо.
<?php
$countOfCurrencies = 2; // количество предполагаемых данных (форм)
if ( isset($_POST) && count($_POST) != 0 ){
for ($i=0; $i < $countOfCurrencies; $i++) {
if ( isset($_POST['cur_'][$i]['check']) && $_POST['cur_'][$i]['check']=='on' ){
// обработка отправленной пары (пример)
$data = new array();
$data[0] = $_POST['item'][$i][0];
$data[1] = $_POST['item'][$i][1];
$data[2] = $_POST['item'][$i][2];
$db->insert($data);
unset($data);
}
}
}
?>
<form action="?" method="POST">
<input type="checkbox" name="cur_[0][check]">Валюта 1<br />
<input type=text name="item[0][0]"><br />
<input type=text name="item[0][1]"><br />
<input type=text name="item[0][2]"><br />
<input type="checkbox" name="cur_[1][check]">Валюта 2<br />
<input type=text name="item[1][0]"><br />
<input type=text name="item[1][1]"><br />
<input type=text name="item[1][2]"><br />
<!-- ... //-->
<input type="submit" name="save" value="создать ордера" />
</form>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости