Loading...
PHP/MySQL | Выборка из цикла
Хай, есть проблемка у меня такая:
Пишу скрипт, есть вывод волн(1,2,3,4,5...)
Выводиться всё это цыклом, от меньшего к большему, то есть прописываеться всего 1 строка и Limit Установлен на 18.


Такая проблема, хочу сделать так что бы волна 1 была открыта, а остальные закрыты и вот если человек прошел первую то открывалась вторая и тд.

1 открыта...все закрыты.
1 пройдена и закрываеться и 2 открываеться при этом 3,4,5... закрыты

Мне типа нужна линейность, но как её добиться в цыкле? Ручками написать я могу, но не хочеться, долго и много кода потом.
________
посл. ред. 19.03.2020 в 01:50; всего 1 раз(а); by RoMa96Ua
Вот волны в буквах 1 это а 2 б и тд

Изображение

------
71121_20200319_004715.jpg (482.0 Kb)
Скачиваний: 127
а что сложного? с базы берете текушая волна то есть по умолчание index = 1

$turn = null;

while($i = 1; $i <= $max;$i++) {
if($game['index'] == $i) {
$turn = get_turn($i);
break;
}
}

if (is_null($turn)) {
// Нет цепочки
} else {
// Текушая цепочка
}

Это пример кода не копируй но лучше реализовать без цикла а в базе заносить текушая turn и брать отсюда чем циклом искать
а если отобразить запрет следушего то просто праверяеш какой волна пройдено

то есть по умолчание 0 а в цикл доступно +1 если открыт 1то 1+1 итог 1 иследовано а 2 нет
php
while($i=0;$i < $game['turn_max']; $i++)
{
if($game['turn_index'] > $i) {
// волна иследовано то есть убили
elseif($game['turn_index'] == $i) {
// Волна открыто но не пройдено
} else {
// закрыто
}
}

________
посл. ред. 19.03.2020 в 02:29; всего 2 раз(а); by JCtapuk
когда убиваете волну то заносим в базу turn_index + 1
Онлайн: 0
Время:
Gen. 0.0851
(c) Bym.Guru 2010-2025