Просто отправить в конце игры результат не вариант - запрос легко подделать и отправить в качестве результата любое значение.
"Новая игра" на сервер отправлять ajax-запрос, с помощью которого создавать в БД запись о новой игре. Затем на каждый ход игрока так же отправлять запросы к серверу и увеличить кол-во ходов в БД
<div class="row">
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
</div>
.row{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.block{
width: 33%;
justify-content:center;
align-items:center;
}
let data;
$.ajax({
type: "POST",
url: "getdata.php",
success: function (msg) {
data = msg;
alert(data);
},
error: function (response) { // Данные не отправлены
alert('Ошибка. Данные не отправлены.')
}
})
Если хотите вызывать асинхонную функцию в цикле - читайте про асинхронность в js