Оператор Break If в цикле while без прерывания цикла while

0

Итак, я создаю цикл while для нескольких аккордеонов в php. Я выделил код php, который работает ALMOST. Проблема, с которой я сталкиваюсь, заключается в том, что я должен был вложить пять разных операторов IF в цикл while для пяти разных аккордеонов. Операторы If содержат содержимое, которое должно быть в аккордеоне. Контент - это список песен в определенном альбоме. Мне нужно, чтобы оператор If содержал контент для одного аккордеона, чтобы сломать его, но продолжайте с оригинальным выражением и сделайте это для каждого аккордеона. Вот мой PHP-код.

if ($result)
        {
            while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
               {
                   echo '<div class="col-small-6 col-med-6 col-lg-4 albumContainer">';
                   echo '<img src=' . $row['Album_Art'] . 'alt="">';           
                   echo '<div class="panel-group" id="accordion">';
                   echo '<div class="panel panel-default">';
                   echo '<div class="panel-heading">';
                   echo '<h2 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href=' . $row['direction'] . '>' . $row['Title'] . '</a></h2></div><div id=' . $row['destination'] . ' class="panel-collapse collapse"><div class="panel-body"> <ol>';
                   if($result1)
                   {
                        while ($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC))
                        {                               
                            echo '<li>' . $row1['Name'] . '</li>';                              
                        }; 
                    }; 
                    if($result2)
                    {
                        while($row2 = mysqli_fetch_array($result2, MYSQLI_ASSOC))
                        {
                            echo '<li>' . $row2['Name'] . '</li>';
                        }
                    };
                    if($result3)
                    {
                        while($row3 = mysqli_fetch_array($result3, MYSQLI_ASSOC))
                        {
                            echo '<li>' . $row3['Name'] . '</li>';
                        }
                    };
                    if($result4)
                    {
                        while($row4 = mysqli_fetch_array($result4, MYSQLI_ASSOC))
                        {
                            echo '<li>' . $row4['Name'] . '</li>';
                        }
                    };
                    if($result5)
                    {
                        while($row5 = mysqli_fetch_array($result5, MYSQLI_ASSOC))
                        {
                            echo '<li>' . $row5['Name'] . '</li>';
                        }
                    };
                    if($result6)
                    {
                        while($row6 = mysqli_fetch_array($result6, MYSQLI_ASSOC))
                        {
                            echo '<li>' . $row6['Name'] . '</li>';
                        }
                    };
                    echo '</ol>';
                    echo '<h3>available at:</h3><a href=' . $row['Location'] . '>iTunes</a>
                    <a href=' . $row['Location2'] . '>Amazon</a>
                    <a href=' . $row['Location3'] . '>United Interests</a></div>';
                    echo '</div></div></div></div>';
                }
                    mysqli_free_result ($result); 
        }
            else 
            {
                echo '<p class="error">The current users could not be retrieved. We apologize for any inconvenience.</p>';
                echo '<p>' . mysqli_error($dbcon) . '<br><br />Query: ' . $q . '</p>';
            } 
            mysqli_close($dbcon); 
            ?>

Любые идеи о том, как сделать эту работу для меня, будут очень признательны. Я не могу использовать JQuery для аккордеона из-за того, как код был ранее структурирован.

  • 0
    Если вы пишете break во внутренних циклах while, то он не будет прерывать внешний цикл while.
  • 0
    Попробуйте продолжить; - if ($ var) {продолжить; }
Показать ещё 1 комментарий
Теги:
loops
if-statement
while-loop

1 ответ

0

continue использование http://php.net/manual/en/control-structures.continue.php

continue используется в структурах цикла, чтобы пропустить оставшуюся часть текущей итерации цикла и продолжить выполнение при оценке условия, а затем в начале следующей итерации.

Примечание. Обратите внимание, что в PHP оператор switch считается циклической структурой для целей продолжения.

Кроме того, вы, вероятно, должны использовать переключатель instrad из нескольких условий if

Ещё вопросы

Сообщество Overcoder
Наверх
Меню