Мне нужно выполнять php скрипт несколько раз, количество рандомно генерится. Вставляю то что нужно циклично выполнять в цикл for, но код почему-то выполняется 1 раз и все
include_once('db_connect.php');
function create_orders($mysqli,$user_id,$contest_id,$price,$amount,$name_val,$name_prod,$type_operation){
$Wallets_user = $mysqli->query("SELECT * FROM `wallets` WHERE user_id=$user_id AND contest_id = $contest_id");
$Wallets_user_row = $Wallets_user->fetch_assoc();
$total = $amount * $price;
$commission = 0.0001 * $amount * $price;
if ($type_operation == 'BUY'){
$name_val_free = "bal" . mb_strtolower($name_val);
$name_val_in_orders = "bali" . mb_strtolower($name_val);
$val_free_new = ($Wallets_user_row[$name_val_free] - ($total+$commission));
$val_in_orders_new = ($Wallets_user_row[$name_val_in_orders] + ($total+$commission));
if (($val_free_new >= 0) && ($val_in_orders_new >= 0)) {
$DTTM_create_order = time();
$mysqli->query("INSERT INTO `orders` (`user_id`,`contest_id`,`type_operation`,`name_val`,`name_prod`,`price`,`amount`,`total`,`commission`,`dttm_create_order`,`status`) VALUES ('$user_id','$contest_id','$type_operation','$name_val','$name_prod','$price','$amount'*100000000,'$total','$commission','$DTTM_create_order','o')");
$mysqli->query("UPDATE `wallets` SET $name_val_free=$val_free_new, $name_val_in_orders=$val_in_orders_new WHERE user_id=$user_id AND contest_id = $contest_id" );
}
}
if ($type_operation == 'SELL'){
$name_prod_free = "bal" . mb_strtolower($name_prod);
$name_prod_in_orders = "bali" . mb_strtolower($name_prod);
$prod_free_new = ($Wallets_user_row[$name_prod_free] - $amount);
$prod_in_orders_nem = ($Wallets_user_row[$name_prod_in_orders] + $amount);
if (($prod_free_new >= 0) && ($prod_in_orders_nem >= 0)) {
$DTTM_create_order = time();
$mysqli->query("INSERT INTO `orders` (`user_id`,`contest_id`,`type_operation`,`name_val`,`name_prod`,`price`,`amount`,`total`,`commission`,`dttm_create_order`,`status`) VALUES ('$user_id','$contest_id','$type_operation','$name_val','$name_prod','$price','$amount'*100000000,'$total','$commission','$DTTM_create_order','c')");
$mysqli->query("UPDATE `wallets` SET $name_prod_free=$prod_free_new, $name_prod_in_orders=$prod_in_orders_nem WHERE user_id=$user_id AND contest_id = $contest_id");
}
}
}
$num= rand(2, 5);
for ($i = 0; $i < $num; $i++) {
include_once('db_connect.php');
$req = $mysqli->query("SELECT * FROM `coinInfo` WHERE coinName = '111'");
while($row = $req->fetch_assoc()) {
$ask = $row["ask"];
$bid = $row["bid"];
}
$operation = array("BUY", "SELL");
$rand_keys = array_rand($operation);
function random_float ($min,$max) {
return ($min+lcg_value()*(abs($max-$min)));
}
$contest_id = 1;
$price = random_float($bid,$ask);;
$amount = random_float(1,4);
$name_val = '222';
$name_prod = '333';
$type_operation = $operation[$rand_keys];
$sesion_id = 299;
$Responce=create_orders($mysqli,$sesion_id,$contest_id,$price,$amount,$name_val,$name_prod,$type_operation);
}
Вы пытаетесь несколько раз вызвать include_once('db_connect.php');
. Это бесполезно, include_once(script)
выполняется только один раз, независимо от того, сколько раз вызывается в коде.
Выражение include_once включает и выполняет указанный файл во время выполнения скрипта. Его поведение идентично выражению include, с той лишь разницей, что если код из файла уже один раз был включен, он не будет включен и выполнен повторно и вернёт TRUE. Как видно из имени, он включит файл только один раз.
include_once может использоваться в тех случаях, когда один и тот же файл может быть включен и выполнен более одного раза во время выполнения скрипта, в данном случае это поможет избежать проблем с переопределением функций, переменных и т.д.
Документация.
Замените на include('db_connect.php')
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всем здрастеЕсть новая задачка, и снова со звездочкой
Есть приватный канал, в котором числиться мой основной телеграм аккаунт, я хочу сделать пересылку сообщений из этого канала, в другой канал,...
Здраствуйте! Подскажите, могу ли я достать имя файла в котором работаюДопустим, я работаю в файле index
Есть хостинг с Cpanel, есть ли возможность поставить выполнение php скриптов чаще чем 1 минута?