---
title: "loop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/133008-loop"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "johnkallioniemi"
published: "2005-08-19T18:00:04.000Z"
updated: "2005-08-20T10:28:05.000Z"
replies: 6
views: 333
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/133008-loop"
---

# loop

## #1 — johnkallioniemi, 2005-08-19T18:00Z

Nån som vet varför jag får 2 bilder på första raden och 4 på dom resterande? 

```php
<?
include 'db.php';
$i=1;
$result=mysql_query("SELECT path,filename,thumbname,title FROM pictures ORDER BY id ASC");
while($rad=mysql_fetch_array($result)){
$i++;
if($i=="4"){
?>

</tr>
<tr>
    <td nowrap align="center">
    <a href="./pics/<?=$rad['filename']?>">
    <img srC="pics/<?=$rad['thumbname']?>" border="1" style="border-color: #000000;"></a><br><?=$rad['title']?>
    </td>
    <?
    $i="0";
    } else {
    ?>
    <td nowrap align="center">
    <a href="./pics/<?=$rad['filename']?>">
    <img srC="pics/<?=$rad['thumbname']?>" border="1" style="border-color: #000000;"></a><br><?=$rad['title']?>
    </td>
    <?
        }
    }
    ?>
```

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

## #2 — pettsson, 2005-08-19T22:35Z

Du börjar med att sätta $i till 1, inte 0 som du gör efter den har blivit fyra.
Du har gjort två missar, inte egentliga fel, men inte helt rätt heller:
\* Du jämför $i mot strängen "4" istället för talet 4. Det fungerar, men det är inte rätt. Samma sak när du sätter $i till strängen "0" istället för talet.
\* Du kan korta ner koden genom att inte skriva om tabellcellerna utan göra såhär istället:

```php
<?
include 'db.php';
$result=mysql_query("SELECT path,filename,thumbname,title FROM pictures ORDER BY id ASC");
$i = 0;
while($rad = mysql_fetch_assoc($result)) {
$i++;
if($i == 4) {
 $i = 0;
 print "</tr><tr>";
}
?>
<td nowrap align="center">
<a href="./pics/<?=$rad['filename']?>">
<img srC="pics/<?=$rad['thumbname']?>" border="1" style="border-color: #000000;"></a><br><?=$rad['title']?>
</td>
<?
}
?>
```

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

## #3 — johnkallioniemi, 2005-08-19T22:57Z

Ok tackar för hjälpen men har fortfarande problem men nu visar den 3 på första raden och 4 på resten hmm

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

## #4 — johnkallioniemi, 2005-08-19T23:02Z

Märkte att om jag satte så här så får jag 4 på varje rad i 5 rader om jag har 20 bilder, detta verkar fungera men jag finner ingen logik i det hela. Är detta rätt ens eller är det bara ren tur att jag lyckades?

```php
<?
include 'db.php';
$i=1;
$result=mysql_query("SELECT path,filename,thumbname,title FROM pictures ORDER BY id ASC);
while($rad=mysql_fetch_assoc($result)){
$i++;
if($i== 6){
$i=2;
?>
</tr>
<tr>
<?}?>
    <td nowrap align="center">
    <a href="./pics/<?=$rad['filename']?>">
    <img src="pics/<?=$rad['thumbname']?>" border="1" style="border-color: #000000;"></a><br><?=$rad['title']?>
    </td>
    <?
    }
    ?>
```

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

## #5 — pettsson, 2005-08-19T23:27Z

Får du den där att funka måste det vara tur, eftersom du inte avslutar sql-satsen med en " ;)
$i ska initieras till 0, och sedan sättas till 0 när if-satsen körs. Kommer alla bilder med då, eller saknar den några? I så fall kan du skriva ut $i innan du kör $i++;, så får du se hur den räknar upp.

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

## #6 — johnkallioniemi, 2005-08-19T23:32Z

JIPPI! fick det att fungera med denna kod
tack för hjälpen ;D, nu kan jag äntligen börja fokusera på GD ;D

```php
<?
include 'db.php';
$i=0;
$result=mysql_query("SELECT path,filename,thumbname,title FROM pictures ORDER BY id ASC");
while($rad=mysql_fetch_assoc($result)){
if($i== 4){
$i=0;
?>
</tr>
<tr>
<?}
$i++;
?>
    <td nowrap align="center">
    <a href="./pics/<?=$rad['filename']?>">
    <img src="pics/<?=$rad['thumbname']?>" border="1" style="border-color: #000000;"></a><br><?=$rad['title']?>
    </td>
    <?
    }
    ?>
```

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

## #7 — pettsson, 2005-08-20T10:28Z

När du fått svar på din fråga ska du trycka på "acceptera svar", så vet man att problemet är löst. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/133008-loop
