Podzielenie <ul> przy określonej ilości <li>

0

Witam jak w temacie czy istnieje szansa aby podzielić ul który zawierałby określoną ilość li tworzył kolejnego ul z listą li nie wiem czy dobrze to wytłumaczyłem cały kod który tworzy ul, które zawierają li wygląda tak :

  case "prodkategorie":
                        //
                        $NazwaKategorii = Kategorie::NazwaKategoriiId($strona[1]);
                        $NazwaKategoriiSeo = Kategorie::NazwaKategoriiSeoId($strona[1]);
                        //
                        if ( !empty($NazwaKategorii) ) {
                            //
                            $DoWyswietlania .= $tagPoczatek . '<a href="' . Seo::link_SEO( $NazwaKategoriiSeo, $strona[1], 'kategoria') . '">' . $NazwaKategorii . '</a>';
                            //
                            $TablicaPodkategorii = Kategorie::TablicaKategorieParent($strona[1]);
                            //
                            if ( count($TablicaPodkategorii) > 0 ) {
                                //
                                $DoWyswietlania .= '<ul class="ul-podkategorie">';
                                //
                                foreach ( $TablicaPodkategorii as $Podkategoria ) {
                                    //
                                    $DoWyswietlania .= '<li>' .  '<a href="' . Seo::link_SEO( $Podkategoria['seo'], $strona[1] . '_' . $Podkategoria['id'], 'kategoria') . '">' . $Podkategoria['text'] . '</a>' . '</li>';
                                    //
                                }
                                //
                                $DoWyswietlania .= '<div class="podkategoria-listy">';
                                $DoWyswietlania .= '</div>';
                                $DoWyswietlania .= '</ul>';
                                //
                            }
0

czy istnieje szansa

Odpowiedź:
Tak, istnieje.

Zadaj konkretniejsze pytanie.

0
dualjack napisał(a):

czy istnieje szansa

Odpowiedź:
Tak, istnieje.

Zadaj konkretniejsze pytanie.

Ok chciałbym podzielić listę <ul> tak aby przechowywała maksymalnie 7 <li> i tworzyła kolejne <ul> w której będą <li> i taka pętla :)
Mam nadzieję, że udało mi się wytłumaczyć :)

1

Sprawdzaj na bieżąco, który element wyświetlasz. Za każdym razem, gdy miniesz wielokrotność 7, doklej po prostu zamkniecie i otwarcie listy - </ul><ul>

0
$nr = 1;
$ulOpened = false;
foreach ($cats as &$cat) {

  if (!$ulOpened) {
    echo '<ul>';
    $ulOpened = true;
  }
  
  echo '<li>'.$cat['name'].'</li>';
  
  if ($nr%7 == 0) {
    echo '</ul>';
    $ulOpened = false;
  }
  
  $nr++;

}
0
TomRZ napisał(a):
$nr = 1;
$ulOpened = false;
foreach ($cats as &$cat) {

  if (!$ulOpened) {
    echo '<ul>';
    $ulOpened = true;
  }
  
  echo '<li>'.$cat['name'].'</li>';
  
  if ($nr%7 == 0) {
    echo '</ul>';
    $ulOpened = false;
  }
  
  $nr++;

}

Dzięki kolego za pomoc, dobrego weekendu!

0

Jeszcze na końcu trzeba:

if ($ulOpened) {
echo '</ul>';
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1