GROUP_CONCAT()

(Freitag, den 18. Dezember 2009 um 09:03 Uhr)

Im Rahmen meines Datenbank Projektes hatte ich folgendes MySQL Problem:

  • ein Hotel-Gast kann mehrere Personen mitbringen.
  • in einer Übersicht über alle Gäste will ich alle Personen auflisten, die mit diesem Gast gekommen sind.

Das geht entweder in einer extra Tabelle oder zusammen gefasst in einer Zelle (Komma-separiert). Das erste würde meinem Vorsatz eine Übersicht zu zeigen nicht gerecht werden.

Mit CONCAT() kann man mehrere Spalten zu einer spalte zusammenfassen etwa:

SELECT CONCAT(vname, ' ', nname) AS name FROM person;

Das löst mein Problem noch nicht, da ich ja vertikal zusammenfassen möchte. Nach etwas suchen bin ich auf GROUP_CONCAT() gestoßen:

SELECT GROUP_CONCAT( nname SEPARATOR ', ') AS name FROM person;

Wenn man zusätzlich den Vornamen haben möchte:

SELECT GROUP_CONCAT( CONCAT(vname, ' ', nname) SEPARATOR ', ') AS name FROM person;

Dann kommt so etwas wie „Karl Müller, Hein Blöd, Max Mustermann“ heraus.
Das kann man dann in ein SQL Statement einfügen

CSS Tipps

(Freitag, den 20. November 2009 um 18:49 Uhr)

Seit 7 Jahren beschäftige ich mich mit Webprogrammierung. Hier ist also der erste Teil meiner CSS-Tipps.

Mich hat immer genervt, nicht zu wissen wohin ein Link führt. Man muss immer erst der Tooltip anschauen, um zu wissen ob man auf dem aktuellen Webauftritt bleibt.

Ich fand die Idee von Wikipedia super, hinter alle externe Links ein Icon zu setzen. (falls jemand weiß, ob Wikipedia wirklich als erstes dies hatte, bitte Bescheid sagen)

Da ich kein Zeit habe bei allen externen Links auf meiner Seite die CSS-Class ‚outlink‘ zu setzen, benutze ich CSS.

Dafür sind die in CSS 3 spezifizierten Attribut-Selektoren notwendig, welches von allenaktuellen Browsern unterstützt werden. (u.a. )

/* jeder Link wird rechts um 15px erweitert und am rechten Rand wird ein Hintergrundbild eingefügt (unser Icon)*/
a[href^="http://"]{
 padding-right: 15px;
 background: transparent url(../images/link/12pxexternal.png) no-repeat center right;
}

/*dies kann man weglassen, dadurch wird nur dem Besuchten Link ein anderes Icon gegeben*/
a:visited[href^="http://"]{
 padding-right: 15px; 
 background: transparent url(../images/link/12pxexternal-visited.png) no-repeat center right;
}

/* damit die internen Links kein Icon bekommen, muss man die Einstellungen hier löschen.
ersetze 'url' durch deine Url, in meinem Fall hab ich zb 'josias.polchau.de' genommen*/
a[href*="url"],
a:visited[href*="url"],
a[href^="/"]{
 padding-right: 0px;
 background: none;
}

Als Grafik hab ich das Wikipedia Icon genommen, dass unter Copyleft steht: 

Opensouce Grammatik Prüfung

(Donnerstag, den 19. November 2009 um 14:51 Uhr)

Die Grammatikprüfung war immer ein Stiefkind der Opensource-Szene. Bisher gab es keine – nicht einmal eine rudimentäre – Grammatiküberprüfung bei OpenOffice.

Das liegt sicherlich an der Komplexität der deutschen Sprache. Selbst Microsoft Word hat mich in diesem Punkt nie überzeugt. Oftmals lag es grammatisch falsch.

Nun gibt es seit einiger Zeit eine Opensource-Projekt, das diese Lücke füllt: das languagetool.

Die Regeln kann man anhand von Testläufen (mit Wikipedia Texten) überprüfen und bewerten. So wird viel Arbeit an die Comunity übergeben. Andererseits ist das Projekt so transparenter und es macht Spaß sich damit zu beschäftigen.

Noch ein Punkt, den ich nicht unerwähnt lassen will: Die Grammatikprüfung lässt sich anscheinend leicht in Java-Programme einbauen.

via dark-horizons