---
title: "Skriva ut fem li och sedan ett nytt ul"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/188154-skriva-ut-fem-li-och-sedan-ett-nytt-ul"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Nova"
published: "2011-10-27T08:47:34.000Z"
updated: "2011-10-27T13:26:05.000Z"
replies: 7
views: 523
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/188154-skriva-ut-fem-li-och-sedan-ett-nytt-ul"
---

# Skriva ut fem li och sedan ett nytt ul

## #1 — Nova, 2011-10-27T08:47Z

Jag vill skriva ut så här: 

```
<ul>
<li>länken|/li>
<li>länken|/li>
<li>länken|/li>
<li>länken|/li>
<li>länken|/li>
</ul>
<ul>
<li>länken|/li>
<li>länken|/li>
<li>länken|/li>
<li>länken|/li>
<li>länken|/li>
</ul> os.v
```

Antalet li kommer inte att vara delbart med fem alla gånger utan det kan bli ett eller 5 li i sista ul.

Den här koden använder jag nu och den radar upp alla \<li\> inom ett \<ul\>

```
<ul><?php $sql = mysql_query("select c.categories_id, cd.categories_name, cd.aktiv, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.aktiv = '1' and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name ") or die(mysql_error());
while($rows = mysql_fetch_array($sql)) {
            echo '<li><a href="' . tep_href_link(FILENAME_DEFAULT, 'cPath=' . $rows['categories_id']) . '">' . $rows['categories_name'] . '</a></li>';
		
		
   
} ?></ul>
```

Hur gör jag för att ordna det?

Permalänk: https://www.webforum.nu/p/188154

## #2 — Pedda, 2011-10-27T09:08Z

Något sånt här borde fungera

```php
<?php 
$sql = mysql_query("select c.categories_id, cd.categories_name, cd.aktiv, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.aktiv = '1' and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name ") or die(mysql_error());
$i = 0;
while($rows = mysql_fetch_array($sql)) {
	if($i == 0) {
		echo "<ul>";
	}
    echo '<li><a href="' . tep_href_link(FILENAME_DEFAULT, 'cPath=' . $rows['categories_id']) . '">' . $rows['categories_name'] . '</a></li>';	
	$i = ($i < 4 ) ? $i++ : 0;
    if($i == 0) {
		echo "</ul>";
	}
} 
if($i != 0) {
	echo "</ul>";
}
?>
```

(otestad kod)

Permalänk: https://www.webforum.nu/p/2284479

## #3 — Nova, 2011-10-27T09:21Z

Tackar!
mvh
Peder

Permalänk: https://www.webforum.nu/p/2284480

## #4 — Nova, 2011-10-27T10:49Z

Liten följdfråga, om jag vill skriva ut 9 stycken li innan ul hur gör jag då?

Permalänk: https://www.webforum.nu/p/2284483

## #5 — voigtann1, 2011-10-27T10:59Z

ändra $i \< 4  till $i \< 8 ?

Permalänk: https://www.webforum.nu/p/2284485

## #6 — Nova, 2011-10-27T11:24Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1541727)**
>
> ändra $i \< 4  till $i \< 8 ?

Trodde det också, men det skriver fortfarande ut 5.

Permalänk: https://www.webforum.nu/p/2284488

## #7 — voigtann1, 2011-10-27T11:31Z

när jag kör:

```
$i = ($i < 8 ) ? $i++ : 0;
```

i en for-loop så få jag alltid $i == 0

ändrade till:

```
$i = ($i < 8 ) ? ++$i : 0;
```

och verkar fungera bättre, vet inte om det behövs men: <http://php.voigt.se/sandbox/wf/nova/list.php>

Permalänk: https://www.webforum.nu/p/2284490

## #8 — Nova, 2011-10-27T13:26Z

voigtann1:
Fungerar bra, tackar!

Permalänk: https://www.webforum.nu/p/2284495

---

Tråden på webben: https://www.webforum.nu/amne/php/188154-skriva-ut-fem-li-och-sedan-ett-nytt-ul
