Добрый день. Подскажите пожалуйста как реализовать ожидание выполнения функции?
Есть код:
тут код<?php
require 'ex/vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
$i = 2;
do {
$url1 = 'https://img1.goodfon.com/original/1920x1080/b/c9/pole-nebo-gorizont-peyzazh.jpg';
$url2 = 'https://get.wallhere.com/photo/1920x1200-px-nature-1054070.jpg';
$url3 = 'https://cdn.wallpapersafari.com/70/76/AnNVBR.jpg';
if (isset($_GET['test'])) {
echo 'Вы нажали на кнопку: ' . $_GET['test'];
$cell = 'F'.$i;
$url = $_GET['test'];
$inputFileName = './ex/e.xlsx';
$spreadsheet = IOFactory::load($inputFileName);
$spreadsheet->getActiveSheet()->setCellValue($cell, $url);
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save("./ex/e.xlsx");
echo "Я внёс!";
$i=$i+1;
}
echo <<<HTML
<html>
<head>
<style>
img {
height: 100px;
width: 100px;
}
</style>
<script type="text/javascript" src="js/jquery-3.2.1.js"></script>
</head>
<button onclick="set_mode_view(this)"><img src="$url1" alt="Кнопка «button»"></button>
<button onclick="set_mode_view(this)"><img src="$url2" alt="Кнопка «button»"></button>
<button onclick="set_mode_view(this)"><img src="$url3" alt="Кнопка «button»"></button>
<br/><br/>
<div id="test_value"></div>
<script>
function set_mode_view(element)
{
$.ajax({
url:'test4.php',
data:{test:element.firstChild.currentSrc},
success:function(data){
$('#test_value').text(data);
}
});
$(".current-msg").html("");
}
</script>
</html>
HTML;
} while ($i < 10);
?>
HTML код рисует 3 картинки. Кликаю по одной из них и это заносится в эксель таблицу.
Если без цикла, единовременное выполнение, то все ОК. Но для дальнейшего развития надо добавить цикл.
И тут начались проблемы. В зависимости от того где я поставлю $i=$i+1; код то рисует $i количество раз html код,то и вовсе зацикливается.
Можно ли как-то сделать чтобы выдавался html код, ожидал клика соответственно и только потом выдавал опять html код. Тоесть появляются картинки, кликаем, заносятся данные и появляется опять html код и пока цикл не закончится соответственно..
Спасибо заранее!