anoniem Geplaatst: 6 januari 2003 Delen Geplaatst: 6 januari 2003 Hallo, Ik zit met het volgende probleem. Ik heb een database met daarin een tabel waarin verschillende merken omschreven staan, en een tabel met verschillende modellen. De data uit deze tabelen krijg ik welop de website, maar niet in de layout zoals ik het graag wil. De bedoeling is dat in de eerste regel het merk staat en daaronder een opsomming van de modellen. En dan daaronder weer een merk met een opsomming er onder. Bijvoorbeeld: [b:021c236522]Opel[/b:021c236522] Vectra Omega Astra [b:021c236522]Volkswagen[/b:021c236522] Golf Transporter Ik heb een query gemaakt waarbij alle merken 1 keer uit de tabel worden gehaald en een query waarbij alle modellen worden opgehaald. Ik heb geprobeerd met de "while" opdracht een loop in een loop te bouwen, echter wat ik ook probeer, ik krijg altijd eerst een lijst met alle merken en daaronder een lijst van alle modellen. Kan iemand een hint geven hoe ik dit voor elkaar krijg? Alvast bedankt voor de moeite Robert Quote Link naar reactie
anoniem Geplaatst: 6 januari 2003 Auteur Delen Geplaatst: 6 januari 2003 Als je met de 2 queries blijft werken zal je de while loops moeten "nesten". bijv: [code:1:4a272d0a33] while (i < 10) { while (k < 5) { echo k; ++k; } echo i; ++i; } [/code:1:4a272d0a33] Maar waarschijnlijk kan je de twee tabellen uit je database ook JOIN-en en daarna in 1 loop afdrukken waarbij je alleen een regel met het merk afdrukt als deze anders is dan de vorige. bijv met een recordset die onderstaande teruggeeft [code:1:4a272d0a33] merk type -------------------- opel vectra opel omega volkswagen transporter [/code:1:4a272d0a33] (pseudo-code): [code:1:4a272d0a33] $merk_oud = ""; while (....) { $merk = $resultaat["merk"]; $type = $resultaat["type"]; // alleen afdrukken van merk als dit nog niet is gebeurd if ($merk != $merk_oud) echo $merk, "<br />"; // afdrukken van type echo $type, "<br />"; // merk onthouden $merk_oud = $merk; } [/code:1:4a272d0a33] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen