# sql abfrage und ausgabe formatieren



## space (21. März 2005)

Hallo,
ich habe folgende frage, da ich keinen Lösungsweg finde:

Wenn ich ein sql anfrage mache, möchte ich gerne das die Ausgabe formatiert ist, wie folgt:

$stat=mysql_query("SELECT * FROM categories WHERE catid='$cat' order by catname");
while ($myrow = mysql_fetch_array($stat)){

echo "$myrow[categorie]";

}

Ich möchte gerne das die ausgabe im 3er Block erfolgt:

link1              link2                   link3
link4              usw.

Das heißt das nach 3 Ausgaben eine neue Zeile beginnt.
Wie kann ich das realisieren?

Bin für jeden Tipp dankbar.

Danke


----------



## CrushLog (21. März 2005)

Ganz einfache Lösung, aber nicht die sauberste denk ich:


```
while ($myrow = mysql_fetch_array($stat)){
$i++;

echo "$myrow[categorie]";

if($i=='3') { echo"<br>"; $i=0; }
}
```


----------



## SilentWarrior (21. März 2005)

Da dreht sich mir der Magen um. ^^ Nichts für ungut, CrushLog, aber dafür verwendet jeder normale Programmierer modulo:
	
	
	



```
$i = 1;
while ($array = mysql_fetch_assoc($stat)) {
    echo $array['categorie'];
    if ($i % 3 == 0) {
        echo '<br />';
    }
    $i++;
}
```
PS: Kategorie heisst im englischen categor*y*, nicht categor*ie*.


----------



## Gumbo (21. März 2005)

Ich hab eine geschicktere Idee: Zeiche alles als eine Liste aus und formatiere sie wie im Floatutorial: Tutorial 4 beschrieben.


----------



## space (21. März 2005)

Ich möchte mich bedanken, das hat mir sehr weitergeholfen. Das Tut ist cool - Danke


----------



## CrushLog (22. März 2005)

Ok auch wieder was gelernt


----------

