Posts Tagged ‘Web-Entwicklung’

Sonntag, 11. Mai 2008

MySQL INSERTs und UPDATEs mit Subselects

Kürzlich durfte ich nachträglich zwei Datenbanktabelle normalisieren. Obwohl ich längst von den Subselect-Fähigkeiten von MySQL wusste, hatte ich es bis dato noch nie ausprobiert. Wie es sich herausgestellt hat, ist das Prozedere deutlich einfacher, als ich es mir erträumt hatte.

Rubriken neu in separater Tabelle

Die Tabelle daten enthält bspw. Adressen, die jeweils einer bestimmten Rubrik zugewiesen sind. Selbstverständlich kann man die Rubrik in dieselbe Tabelle hardcoden – doch deutlich hübscher ist es, die Rubrik in eine eigene Tabelle auszulagern und diese mittels eines Foreign Keys zu verknüpfen. Einer der Vorteile: Muss der Name einer Rubrik angepasst werden, geschieht dies an einem einzigen Ort, die Änderung wird aber gleich für alle Adressen übernommen.

Folgender Befehl nahm die hardcodierten Rubriken und fügte diese (jeweils einmal!) in die Tabelle rubriken ein:

INSERT INTO daten_rubriken
(rubrik)
SELECT DISTINCT(rubrik) FROM daten

Wichtig ist die SELECT ... Klausel – bis dahin handelt es sich beim SQL-Query um einen ganz normalen INSERT. DISTINCT bewirkt, dass der Rubrikennamen nur einmal ausgelesen wird (es können ja dutzende oder tausende Einträge dieselbe Rubrik haben).

Rubriken-IDs in Ursprungstabelle

Nachdem wir also nun die Rubriken in eine eigene Tabelle ausgelagert haben, möchten wir diese wieder mit der Ursprungstabelle verknüpfen. Hierzu verknüpfen wir die Textfelder der Ursprungs- mit der Rubriken-Tabelle und fügen in die Ursprungstabelle in ein neu erstelltes Feld die ID der Rubrik ein:

UPDATE daten d
SET d.`daten_rubriken-id` = (SELECT r.id FROM daten_rubriken r WHERE r.rubrik = s.rubrik)

Tags: , ,
Labels: Allgemein

1 Kommentar | neuen Kommentar verfassen

Donnerstag, 6. März 2008

MSIE8 sucks!

Wie ich das schon jetzt wissen kann? Na, der Browser kommt von Microsoft. Noch Fragen?

Of course, there are those who might suggest it’s only Microsoft that has problems hitting standards around interoperability and is trying to change the debate and buy time for IE 8 by putting the onus on the industry to revisit standards. […]

Referring to IE 7, Hachamovitch said: „My kids would hear stories about how the web isn’t working as it should, and they’d ask me: ‚Daddy, did you break the web?‘ Developers would answer the question a little differently,“ which prompted one keynote audience member sitting behind Reg Dev to growl „much differently.“

Quelle: Microsoft jump starts IE 8 with community push

Tags: , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 19. Februar 2008

Formulare mit CSS (und ohne Zeilenumbrüche) layouten

Wie man Formulare heutzutage layoutet (nämlich mit CSS und nicht etwa Tabellen), verzapfen unzählige Artikel im Netz. Einen sauberen Einstieg bietet beispielsweise Quirksmodes Tableless forms.

Auch hier wird wieder belohnt, wer die HTML-Spezifikationen kennt und spezifische Tags so einsetzt, für was sie eigentlich erdacht wurden. Bestes Beispiel in diesem Zusammenhang: Der <label>-Tag, welcher immer noch nicht allen professionellen Web-Entwicklern bekannt ist.

Eine Sache wird in vielen Artikeln hingegen nicht ausreichend erläutert: Wie kriege ich das Formular-Layout hin, ohne dabei <br>-Tags zu benutzen? (Zeilenumbrüche, für HTML-Unerfahrene – in der Regel <tt clear="all">, um mit dem Floats zurecht zu kommen …)

Heute nun habe ich mich noch einmal mit der Umbruch-Thematik auseinandergesetzt und kann folgende Lösung präsentieren, die zumindest in Firefox 2.x und Safari 3.x zu funktionieren scheint (ich schliesse mich Conrast.ie an und hasse MSIE6 ab heute öffentlich):

label {
 display:block;
 float:left;
 width:200px;
 
 clear:left;
}
input {
 display:block;
 float:left;
 
 clear:right;
}

Wichtig sind die clear-Anweisungen, die das Umbrechen der Floats steuern.

Tags: , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 20. November 2007

Design vs. Web Design

[…] Google. Amazon. Facebook. eBay. Yahoo. Craigslist. YouTube.

Do they have “gravitas, praise, or memorability”? Yes, they certainly do in the minds of web designers.

Will they be praised by print designers and put into large coffee table books? No, of course not. You can’t appreciate a web site in the same way you appreciate a logo or a poster.

[…] Who do we credit for building Google? Larry and Sergei? How about Amazon? Jeff Bezos? People in the web development community know this is silly…thousands and thousands of people have worked on those sites, tweaking the user experience over many years. There is no single person we can point our accolades to.

Quelle: Do Canonical Web Designs Exist?

The less sophisticated lament on our behalf that we are stuck with ugly fonts. They wonder aloud how we can enjoy working in a medium that offers us less than absolute control over every atom of the visual experience. What they are secretly asking is whether or not we are real designers. (They suspect that we are not.) […]

Web design is the creation of digital environments that facilitate and encourage human activity; reflect or adapt to individual voices and content; and change gracefully over time while always retaining their identity.

Quelle: Understanding Web Design

Tags: ,
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 14. November 2007

Microsoft Internet Explorer 3.0 bis 6.0

Wer als Web-Entwickler tätig ist, fürchtet sich täglich vor dem Zeitpunkt, wo sein Werk im Microsoft Internet Explorer getestet werden muss. Eins ist klar: Es wird wird sich immer irgendein Darstellungsfehler finden, der auf einen Bug in der Rendering-Engine des Krüppel-Browsers aus Redmond zurückzuführen ist.

Entweder, weil nicht standardkonform gecodet wurde (als Monopolanbieter hat man für Standards nur ein müdes Lächeln übrig, denn schliesslich setzt man durch seine Marktmacht diskussionslos „Standards“), oder weil eine Kombination von verschiedenen Seitenelementen zu ganz kuriosen Darstellungsresultaten führt (Stichwort: Peek-a-boo Bug, stand auch heute wieder auf dem Programm).

Egal – da wohl immer noch so gegen 80% der Interbenutzer das Browser-Scheusal von Kleinweich benutzen, muss man diese Tests zwangsweise über sich ergehen lassen.

Damit man Web-Sites auf einem einzigen Gerät gleichzeitig mit dem Microsoft Internet Explorer 6.0 und 7.0 testen kann, sei folgende Anleitung empfohlen:

IE 6 und IE 7 parallel installieren

Kurzzusammenfassung

  1. Internet Explorer 7 installieren
  2. Internet Explorer All Versions Installer herunterladen
  3. Installer ausführen und Browser selektieren, welche standalone installiert werden sollen

Der Anbieter des Installations-Päckchens lautet Tredosoft, die Hintergründe zum Paket werden auf einer eigenen Seite beschrieben.

Nachtrag

Nachfolgende Web-Dienstleistungen sind für einen Web-Entwickler kein guter Ersatz für eine lokale Installation des Internet Explorers – schliesslich arbeitet man oft auf einem über das Internet nicht zugänglichen Testsystem. Auch kann ich mir vorstellen, dass Reloads nach Anpassungen im Code äusserst träge – wenn nicht gar limitiert – sind:

Dennoch „Danke!“ für die Hinweise!

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen