Avatar billede artico Novice
06. december 2006 - 18:43 Der er 9 kommentarer og
1 løsning

Udskriv varegruppe én gang

Hvordan kan jeg få nedenstående udskrevet, så den kun udskriver varegruppen som en overskrift (altså kun én gang) for hver varegruppe, og så selvfølgelig udskriver varene i gruppen efter varegruppe:
Array
(
    [id] => 199
    [vare_id] => 199
    [vareenhed] => pr.kg.
    [synlig] => 1
    [varegruppe] => Svinekød
    [engrospris] => 70.00
    [vare_enhed_engrospris] => 3
    [varenavn] => Grillbakke
    [vare_gruppe] => 1
    [engrosvare] => on
)

Array
(
    [id] => 203
    [vare_id] => 203
    [vareenhed] => pr.kg.
    [synlig] => 1
    [varegruppe] => Røgvare
    [engrospris] => 53.40
    [vare_enhed_engrospris] => 4
    [varenavn] => Hamburgerryg, rå
    [vare_gruppe] => 8
    [engrosvare] => on
)

Array
(
    [id] => 306
    [vare_id] => 306
    [vareenhed] => pr.kg.
    [synlig] => 1
    [varegruppe] => Røgvare
    [engrospris] => 12.00
    [vare_enhed_engrospris] => 3
    [varenavn] => Bacon, Sliced
    [vare_gruppe] => 8
    [engrosvare] => on
)


F. eks sådan:
Svinekød
Grillbakke

Røgvare
Hamburgerryg, rå
Bacon, Sliced

OSV ......
Avatar billede zynzz Praktikant
06. december 2006 - 19:35 #1
Har du det gemt i et array eller henter du fra en database ?
Avatar billede zynzz Praktikant
06. december 2006 - 19:40 #2
hehe, det er i kategorien mySQL, dumme dumme mig :P, men hvilket sprog bruger du til at kode i ?
Avatar billede zynzz Praktikant
06. december 2006 - 19:46 #3
PHP:

$result = mysql_query("SELECT * FROM DINTABEL ORDER BY varenavn");
$gammel = "";
while ($data = mysql_fetch_assoc($result)){
 
if ( $gammel != $data['varenavn'] ){
echo $data['varenavn'];
$gammel = $data['varenavn'];
  }
echo $data['varegruppe'];
}
Avatar billede artico Novice
06. december 2006 - 20:05 #4
:-) Ja php... prøver lige
Avatar billede artico Novice
06. december 2006 - 20:16 #5
:-( Øhh måske har jeg rod i noget? For den skriver ikke varegrupperne ud først?

SELECTén ser således ud:

  bestillingsliste.id,
          bestillingsliste.vare_id,
         
          vare_enheder.id,
        vare_enheder.vareenhed,
        vare_enheder.synlig,
       
          vare_grupper.id,
          vare_grupper.varegruppe,
       
          vare.id,
          vare.engrospris,
          vare.vare_enhed_engrospris,
          vare.varenavn,
          vare.vare_gruppe,
          vare.engrosvare
         
  FROM bestillingsliste, vare_grupper, vare_enheder, vare
  WHERE bestillingsliste.vare_id = vare.id
  AND vare.engrosvare ='on'
 
  AND vare_grupper.id = vare.vare_gruppe
  GROUP BY vare.id
  ORDER BY vare.varenavn ASC
Avatar billede zynzz Praktikant
06. december 2006 - 20:19 #6
argh fordi du skal bytte om på varegruppe og varenavn i mit script, fordi jeg tog fejl at dit array øverst !

$result = mysql_query("SELECT * FROM DINTABEL ORDER BY gruppenavn");
$gammel = "";
while ($data = mysql_fetch_assoc($result)){
 
if ( $gammel != $data['varegruppe'] ){
echo $data['varegruppe'];
$gammel = $data['varegruppe'];
  }
echo $data['varenavn'];
}
Avatar billede artico Novice
06. december 2006 - 20:27 #7
Fedt nu kører det .... men hvordan samler jeg så varene i respektive varegrupper, for nu skriver den ud således:

Røgvare
Bacon, Sliced
Svinekød
Grillbakke
Røgvare
Hamburgerryg, rå
Pålæg
Røget filet
Svinekød
Stegeben

Som du kan se så kommer varegruppen røgvare 2 gange, kan det samles ?
Avatar billede zynzz Praktikant
06. december 2006 - 20:30 #8
Altså mystisk, den skulle kun komme engang, du sortere jo efter varegruppe :S
Avatar billede artico Novice
06. december 2006 - 20:37 #9
Jeps NU sortere den efter varegruppe... DET VIRKER FINT, mange tak... send et svar :-)
Avatar billede zynzz Praktikant
06. december 2006 - 20:37 #10
hehe, tænkte nok det var der problemet var :)
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
Computerworld tilbyder specialiserede kurser i database-management

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