PHP, MySQL - Slå ihop vissa celler
Hej.
Jag håller på med en kontaktlista till en förskola. Jag har byggt en relationsdatabas och vill kunna presentera en snygg lista lista på hemsidan. Nu har jag stött på lite patrull i själva layouten. Jag ska försöka förklara.
De data som ska visas är föräldrars namn, mobiltelefon, e-post och barnens namn. Under designen av databasen har jag tagit hänsyn till följande:
- Ett barn kan ha en eller flera föräldrar
- En förälder kan ha ett eller flera barn
Utifrån detta har jag gjort följande tabeller med kolumner
föräldrar - id_föräldrar, namn, mobiltelefon, e-post
barn - id_barn, namn
föräldrar_barn - id_barn(FK id_barn i tabellen barn), id_föräldrar(FK id_föräldrar i tabellen föräldrar)
Detta är för att föräldrar-barn blir ett många-till-många-förhållande. Därav den tredje tabellen.
Sedan listar jag tabellerna med en enkel SELECT och JOIN. Sedan använder jag standardförfarandet i PHP för att presentera det på sidan (mysql_query, mysql_fetch_assoc) Det funkar jättebra tekniskt, men det ser inte så snyggt ut i en lista. T ex en familj med två barn blir så här:
Jessica Eriksson 070-XXXXXXX jessica@gmail.com Kalle Eriksson
Peter Eriksson 070-XXXXXXX peter@hotmail.com Kalle Eriksson
Jessica Eriksson 070-XXXXXXX jessica@gmail.com Anna Eriksson
Peter Eriksson 070-XXXXXXX peter@hotmail.com Anna Eriksson
Det jag vill ha är istället
Jessica Eriksson 070-XXXXXXX jessica@gmail.com Kalle Eriksson
Peter Eriksson 070-XXXXXXX peter@hotmail.com Anna Eriksson
Jag har prövat med bl a GROUP_CONCAT, men det ger inte riktigt det resultat jag vill ha. Samma data visas ändå två gånger. Just nu försöker jag laborera lite med nästlade while-satser men det verkar inte heller vara rätt väg att gå. Någon som har någon bra lösning på detta?
Ne nos sequere nobis secede