Avatar billede mydream Nybegynder
10. marts 2005 - 11:42 Der er 9 kommentarer og
1 løsning

Hente data fra sql

Jeg skal lave en liste, hvor jeg henter flere forskellige data ned. En af variablene er DISTRIKT, og den skal kun skrives i udskriften een gang, f.eks. sådan her:

Fyn  Odense    Sort
      Svendborg Rød
      Otterup  Blå

Hvis jeg blot henter alm. vil den skrive FYN alle tre rækker.

Hvordan formulerer jeg det?
Avatar billede jesperchristiansen Nybegynder
10. marts 2005 - 11:50 #1
Ved ikke om det kan gøres på andre måder.. men den måde der lige falder mig ind er, at oprette en variabel hvor distrikt gemmes i..

sådan så du, når du skal udskrive distrikt gør følgende:

$distrikt = $row['distrikt'];

if($distrikt != $row['distrikt'])
{
    echo $row['distrikt'];
}

håber det gav mening? :)
Avatar billede jesperchristiansen Nybegynder
10. marts 2005 - 11:50 #2
ups.. det virker jo ikk.. vi ændrer lige lidt! :)



if($distrikt != $row['distrikt'])
{
    echo $row['distrikt'];
    $distrikt = $row['distrikt'];
}

sådan! :)
Avatar billede mydream Nybegynder
10. marts 2005 - 11:54 #3
Listen skal jo fortsætte med f.eks. Sjælland og Jylland, så den skal jo også kunne skelne. Jeg kan jo sortere efter DISTRIKT, sådan at de ligger samlet, men de 3 distrikter skal bare kun skrives een gang, og også på det rette sted. :)
Avatar billede sukos Juniormester
10. marts 2005 - 11:55 #4
eller
$area = mysql_query("SELECT DISTINCT(distrikt) FROM tabel") or die mysql_error());

while($a = mysql_fetch_array($area)) {
echo $a["distrikt"];

$byer = mysql_query("SELECT * FROM tabel WHERE distrikt = '". $a["distrikt"] ."'") or die (myqsl_error());

while($b = mysql_fetch_array($byer)) {
echo "<br>\n" $b["bynavn"];
}
mysql_free_result($byer);

}
mysql_free_result($area);
Avatar billede jesperchristiansen Nybegynder
10. marts 2005 - 11:57 #5
den skelner jo også :)

lad os sige følgende posts skal udskrives, med følgende distrikt
fyn, fyn, fyn, jylland, sjælland

første gang den køres, er $distrikt tom.. Derfor er udtrækket fra SQL og $distrikt forskellig.. Så der skriver den fyn, og gemmer fyn i $district.

De 2 næste posts er $distrikt og udtræk fra DB ens.. Derfor udskriver den ikke noget..

i 4. gennemløb er $distrikt forskellig fra udtræk - derfor udskrives jylland og jylland lægges i $distrikt osv.

bare sat den stump kode ind hvor du vil have distrikt udskrevet.. burde virke!
Avatar billede mydream Nybegynder
10. marts 2005 - 11:59 #6
Jeg prøver lige.
Avatar billede mydream Nybegynder
10. marts 2005 - 12:10 #7
Der er et eller andet galt. Den skriver slet ikke typen nu.

<?php
while ($raekke = mysql_fetch_array($Test)) {

$Type = $raekke['Type'];
      echo     "<tr><td><span class='style5'>";

            if($Type != $raekke['Type'])
            {
            echo $raekke['Type'];
            $Type = $raekke['Type'];
            }
 
    echo    "</td><td colspan='2'><strong>".$raekke['LevNavn'].
            "</strong></td></tr><tr><td></td><td>".$raekke['Aargang'].
            "</td><td width='200'>".$raekke['Navn'].
            "</td><td align='right'>kr. ".$raekke['Pris'].
              " excl.moms</td></tr><tr><td height='10'></span></td><tr>";
}
?>


------------
Har jeg skrevet det forkert, eller er det rækkefølgen?
Avatar billede mydream Nybegynder
10. marts 2005 - 12:13 #8
Fandt det lige selv. Sorry jeg er sgu lidt tummelumsk i dag. :)
Avatar billede mydream Nybegynder
10. marts 2005 - 12:14 #9
Det virker helt perfekt Jesper. Vil du lægge et svar?

Også tak for hjælpen til Sukos. Fandt Jespers lidt mere simpelt, så jeg forsøgte ikke din metode.
Avatar billede jesperchristiansen Nybegynder
10. marts 2005 - 12:16 #10
glad for at kunne hjælpe! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester