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,3,4,5...)
Выводиться всё это цыклом, от меньшего к большему, то есть прописываеться всего 1 строка и Limit Установлен на 18.
Такая проблема, хочу сделать так что бы волна 1 была открыта, а остальные закрыты и вот если человек прошел первую то открывалась вторая и тд.
1 открыта...все закрыты.
1 пройдена и закрываеться и 2 открываеться при этом 3,4,5... закрыты
Мне типа нужна линейность, но как её добиться в цыкле? Ручками написать я могу, но не хочеться, долго и много кода потом.
________
посл. ред. 19.03.2020 в 01:50; всего 1 раз(а); by RoMa96Ua
а что сложного? с базы берете текушая волна то есть по умолчание 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 и брать отсюда чем циклом искать
$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 нет
то есть по умолчание 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
