---
title: "Från databas till HTML-tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16236-från-databas-till-html-tabell"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Web-Tor"
published: "2001-10-24T07:32:00.000Z"
updated: "2001-10-25T12:48:00.000Z"
replies: 16
views: 300
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/16236-från-databas-till-html-tabell"
---

# Från databas till HTML-tabell

## #1 — Web-Tor, 2001-10-24T07:32Z

Jag är i behov av hjälp! :x
Jag har tänkt så det knakar men har ingen lösning i sikte.

Jag har en databas med tre kolumner.
Dom ser ut så här:

```
[b]Name &#0124; Week &#0124; Status[/b]
-----------------------
Kalle &#0124; 10 &#0124; 10
Kalle &#0124; 12 &#0124; 20
Kalle &#0124; 14 &#0124; 30
Kalle &#0124; 15 &#0124; 40
Lasse &#0124; 12 &#0124; 21
Lasse &#0124; 14 &#0124; 31
Lasse &#0124; 15 &#0124; 41
Lasse &#0124; 16 &#0124; 51
```

Nu skulle jag vilja ha ut all data och visa den i en vanlig tabell.
Så här ungefär:

```
[b]Week  Kalle  Lasse[/b]
-----------------------
10     10      -
12     20     21
14     30     31
15     40     41
16      -     51
```

Antalet personer och veckor är inte konstant utan kan variera.

Visa nu vad ni går för och hjälp en stackars PHP-kompis. :)

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

## #2 — pimme, 2001-10-24T09:03Z

$sql = "select distinct week from tabell";

$res = mysql_query($sql);
while($row = mysql_fetch_object($res)){
$sql2 = "select \* from tabell where week = $row-\>week";
$res2 = mysql_query($sql2);
while($row2 = mysql_fetch_object($res2)){
echo $row2-\>name
}
}

borde fungera....

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

## #3 — Web-Tor, 2001-10-24T09:18Z

Nja...

Det enda jag får ut på skärmen är:
Kalle
Kalle
Lasse
Kalle
Lasse
Kalle
Lasse
Lasse

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

## #4 — pimme, 2001-10-24T20:28Z

jo, men du får ju ändra lite i utskriften så att du får rätt format.....

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

## #5 — Web-Tor, 2001-10-25T06:11Z

Läs igenom mitt första inlägg en gång till. Jag vill att den skall skriva ut Kalle EN gång och Lasse EN gång. ;)

Sedan måste jag ju få ut veckorna och statusen också...

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

## #6 — pimme, 2001-10-25T06:39Z

echo "\<table\>\<tr\>\<th\>Week\</th\>";
while($hej = mysql_fetch_object(mysql_query("select distinct name from tabell"))){
echo "\<th\>$hej-\>name\</th\>";
}
echo "\</tr\>";
sql = "select distinct week from tabell";
$res = mysql_query($sql);
while($row = mysql_fetch_object($res)){
echo "\<tr\>";
echo "\<td\>$row-\>week\</td\>";
$sql2 = "select \* from tabell where week = $row-\>week";
$res2 = mysql_query($sql2);
while($row2 = mysql_fetch_object($res2)){
echo "\<td\>$row2-\>status\</td\>";
}
echo "\</tr\>";
}

nåt sånt kanske

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

## #7 — Web-Tor, 2001-10-25T07:08Z

Nu är det nära!

Så här set utskriften ut nu:

```
[b]Week  Kalle  Lasse[/b]
-----------------------
10     10
12     20     21
14     30     31
15     40     41
16     [b][red]51[/b]
```

Det blir bara **ett** litet fel. :x
Statusen för vecka 16 hamnar på Kalle i stället för Lasse...

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

## #8 — Kim, 2001-10-25T08:04Z

Jag lånar pimmes kod så länge

```
echo "<table><tr><th>Week</th>";
while($hej = mysql_fetch_object(mysql_query("select distinct name from tabell"))) {
    echo "<th>$hej->name</th>";
}
echo "</tr>";
sql = "select distinct week from tabell";
$res = mysql_query($sql);
while($row = mysql_fetch_object($res)) {
    echo "<tr>";
    echo "<td>$row->week</td>";
    $sql2 = "select * from tabell where week = $row->week";
    $res2 = mysql_query($sql2);
    while($row2 = mysql_fetch_object($res2)) {
        if (!$row2->status) {
            echo "<td>-</td>";
        }else {
            echo "<td>$row2->status</td>";
        }
    echo "</tr>";
}
```

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

## #9 — Web-Tor, 2001-10-25T08:24Z

Det gjorde tyvärr inte nån skillnad Kim. :(

```
        if (!$row2->status) {
            echo "<td>-</td>";
        }else {
            echo "<td>$row2->status</td>";
        }
```

**$row2-\>status** har ju alltid ett värde...

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

## #10 — Kim, 2001-10-25T08:26Z

Stupid me! Vad har det för värde när det blir tomt då?

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

## #11 — Web-Tor, 2001-10-25T08:46Z

Den blir ju aldrig tom. Det är det som är problemet...

Om vi tar den första raden:

```
[b]Week  Kalle  Lasse[/b]
-----------------------
10     10      -
```

Denna vecka har alltså inte Lasse rapporterat nån status och jag vill skriva ut ett streck.

Hur mycket jag än tänker så kommer jag inte på någon lösning. :x

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

## #12 — Kim, 2001-10-25T08:54Z

Vad får du ut för värde då? Du måste ju få ut något värde väl? 

Sen är det väl bara att ersätta det med hjälp av str_replace()

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

## #13 — LarsG, 2001-10-25T08:57Z

```
$sql2 = "select * from tabell t1 left join tabell t2 on t2.week = $row->week
  and t1.name = t2.name and t1.week = t2.week";
```

Kanske värt att testa?

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

## #14 — Web-Tor, 2001-10-25T08:58Z

Utskriften blir så här:

```
Week  Kalle  Lasse
-----------------------
10     10     [b][red]*[/b]
12     20     21
14     30     31
15     40     41
16     51     [b][red]*[/b]
```

**\*** innebär att den inte skriver ut någonting. Inte ens en cell.
Raden där det står **echo "\<td\>$row2-\>status\</td\>";** körs bara en gång för vecka 10 och 16.

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

## #15 — Web-Tor, 2001-10-25T11:21Z

Jag fattar faktiskt inte hur jag skall använda din sql-fråga Lars men det verkar som en väldigt krånglig lösning.

Att visa resultatet från en databas i en matris borde ju vara skitlätt! Jag fattar inte att det skall vara så krångligt.

Ingen som kan komma på något annat sätt att lösa problemet?

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

## #16 — LarsG, 2001-10-25T12:42Z

Jag tänkte bara att du skulle ersätta pimmes $sql2 med min fråga.

Använder du Mysql?

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

## #17 — Web-Tor, 2001-10-25T12:48Z

Faran över!
Min ASP-kunniga kollega har återigen kommit till min räddning.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/16236-från-databas-till-html-tabell
