… time flies like an arrow. fruit flies like a banana.

Temporäre Tabellen mit MySQL oder: Differenz zwischen zwei Zeilen

Juli 30th, 2012 Friedemann

Für ein kleines Projekt (bald davon mehr) habe ich nach einem Weg gesucht, die Differenz (oder auch „Delta“) innerhalb einer Tabelle zwischen zwei aufeinanderfolgenden Zeilen zu bilden. Da das Ganze natürlich auch mit PHP funktionieren soll, musste ich ein bisschen herum probieren, bis ich auf die folgende Lösung gestoßen bin: Temporäre Tabellen. Temporäre Tabellen werden wie „normale“ MySQL-Tabellen behandelt, existieren allerdings nur so lange im Speicher, wie der Client – also in diesem Fall das PHP-Script – mit dem Server verbunden ist. Eine tolle Sache! Das Anlegen der temporären Tabelle war für diesen speziellen Zweck mit der folgenden Syntax zu bewerkstelligen:

1
2
3
4
5
CREATE temporary TABLE IF NOT EXISTS `tmptbl`
SELECT `id` + 1 AS prev,
`e-total`
FROM `tab1`
ORDER BY `id`;

!!Hierbei ist in der Tabelle `tab1` die `id` der Schlüssel und Auto-Increment-Wert. Ich kann bei meinem Script davon ausgehen, dass die IDs fortlaufend sind und nicht gelöscht werden würden!!
Die Differenz konnte nun mit dem folgenden Query gebildet werden:

1
2
3
4
5
6
SELECT DISTINCT `id`,
( tab1.`e-total` - tmptbl.`e-total` ) AS delta,
FROM `tab1`
INNER JOIN `tmptbl`
ON ( tab1.`id` = tmptbl.`prev` )
ORDER BY tab1.`id`;

Bei mir funktioniert diese Abfrage wunderbar.

p.s.: Gelöscht werden kann die temporäre Tabelle übrigens – wie sollte es auch anders sein – ganz einfach:

1
drop temporary table if exists `tmptbl`

Mit PHP Tage, Wochen, Monate, Jahre, … auf ein gegebenes Datum addieren

Juni 25th, 2012 Friedemann

Ich bin letztens über einen Codeschnipsel gestolpert, der mir bei einer aktuellen Entwicklung sehr hilfreich war. Es handelt sich hierbei um die Möglichkeit, Auf ein gegebenes Datum Tage, Wochen, Monate zu addieren:

$date = date("Y-m-d");// Aktuelles Datum

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");

Vielleicht hilft es ja mal jemanden 🙂

svn: Can’t convert string from ‚UTF-8‘ to native encoding.

Juni 25th, 2012 Friedemann

Beim Versuch eines unserer SVN-Repositories zu aktualisieren, ist uns folgender Fehler immer wieder aufgetaucht:

svn: Can't convert string from 'UTF-8' to native encoding:

Dieser Fehler taucht auf, wenn Dateinamen UTF-8-codiert sind und mit dem aktuellen Lokalisierung nicht dargestellt werden können. Abhilfe schafft folgender Befehl in der Shell:

export LC_CTYPE=en_US.UTF-8

Danach sollte das ausführen von

svn update

Kein Problem mehr darstellen.

Gefunden habe ich den Tipp hier.

Wieder online!

Mai 2nd, 2012 Friedemann

Moin moin,

der geneigte Leser wird festgestellt haben, dass der Blog in letzter Zeit offline war. Das war zum einen der Tatsache geschuldet, dass wir uns einen neuen Server bestellt haben, zum anderen, dass ich bisher einfach keine Zeit dazu gefunden habe das Backup der Seite wieder einzustellen.

Was gibt’s Neues? Naja, Torben hat nun einen eigenen Blog angefangen und es doch geschafft, sogar einen Beitrag zu schreiben. Ist auf jeden Fall sehr informativ das Ganze.

Ich habe mich im letzten halben Jahr verstärkt mit Typo3 und dem Shopsystem Oxid auseinander gesetzt. Evtl. werden hier in Zukunft die einen oder anderen Beiträge zum Thema Typo3 erscheinen. Inzwischen ist meine Beziehung zu dem CMS als „Hassliebe“ zu betiteln. Durch die Nutzung von Typoscript ist Typo3 einfach irre mächtig. Man kann quasi ALLES damit machen. Aber BIS die Scripts das tun, was man möchte können doch einige Stunden ins Land gehen.

Ach ja! Wir sind wieder zurückgekehrt zum Apachen. Es war einfach zu viel Frickelarbeit eine neue Domain ins System einzubinden. Nun ist wieder Plesk (Codename: Systemkrake) installiert. Viel besser ist das zwar nicht, aber ich habe auch keine Lust mehr ewig warten zu müssen, bis bspw. DNS-Settings übernommen werden. Nichts gegen Lighttpd – ich mag den Server sehr – aber es war dann doch zu viel einzustellen, wenn man neue Features haben wollte.

Soviel erstmal von mir und ich hoffe, dass ich in der Zukunft öfters dazu kommen werde, Beiträge zu verfassen.

Friedemann

Lighttpd und DocumentRoot

Juli 1st, 2011 Friedemann

Bei dem Webserver Apache gibt es die Möglichkeit, die Seite, die beim Aufruf einer Homepage angezeigt werden soll, mittels DocumentRoot festzulegen. Diese Möglichkeit gibt es auch beim Lighttpd:

Hierzu fügt man einfach die Konfiguration der Domain beispielsweise folgende Zeile hinzu:

index-file.names = ("index.php")

Hierdurch wird das DocumentRoot auf „index.php“ gesetzt.

Was allerdings nicht geht: Möchte man, so wie Torben auf seiner Seite minecognix.de gerne das Portal des Forums als Startseite haben, so kann man nicht einfach die Seite „index.php?page=Portal“ angeben…

Read the rest of this entry »

[UPDATE] Lighttpd und 301-Redirects

Juni 22nd, 2011 Friedemann

Wie ich bereits vor einigen Monaten berichtet habe, haben wir uns die Domäne www.bananasoft.de sichern können. Die damaligen Versuche, die Domain vernünftig auf bananasoft.org umzubiegen, sind gescheitert, bzw. ich habe es nicht weiter verfolgt.

Jetzt habe ich mich noch einmal daran gesetzt, nachdem ich einen kurzen Artikel bei Sebastian Constapel gelesen hatte. Hier sind nun die „Früchte“ dieser Auseinandersetzung.

Read the rest of this entry »

Windows Sound Remix

Juni 15th, 2011 Friedemann

Dieses Video ist zwar auch schon „etwas“ älter (Upload auf YT: 2007), aber meiner Meinung nach der beste Remix basierend auf Windows-Sounds, der mir bisher begegnet ist. Da fängt man doch schon an, Windows ein wenig zu vermissen. Mit so viel musikalischem Potenzial…

[youtube]dsU3B0W3TMs[/youtube]

Besuch von Außerhalb die zweite / Bald neuer Server?

Juni 11th, 2011 Friedemann

Nachdem ich mich in letzter Zeit mit so interessanten Sachen wie dem TOR-Projekt auseinandergesetzt (und lieben gelernt habe!), habe ich mich dazu entschlossen, den lieben Chinesen wieder Zugang zu unserer Seite zu gewähren, da vermutlich „nur“ ein Scriptkiddie unterwegs war. Und da Sippenhaftung nun wirklich nicht mehr zeitgemäß ist, ist die Sperre (vorläufig) wieder entfernt worden. Sollte der Server wieder in die Knie gehen, so weiß ich ja, welche Befehle ich eingeben muss, um die entsprechenden Individuen auszusperren.

Abgesehen davon gibt es evtl. noch ein paar ganz interessante News:

Read the rest of this entry »

Bill und Steve

Mai 29th, 2011 Friedemann

Torben hat mir letztens ein Video geschickt, kommentiert mit einem einfachen, aber einprägsamen „WTF“. Dem kann ich mich nur anschließen.

[youtube]IY2j_GPIqRA[/youtube]

Gruselig

Webdesign und der Internet-Explorer der Hölle…

Mai 29th, 2011 Friedemann

IE der HölleJeder Webdesigner / Webentwickler kennt wohl das Problem: Man hat gerade eine Webanwendung halbwegs fertig gestellt, sie mit Google Chrome und Firefox durchgetestet und freut sich seines Lebens, dass das Projekt langsam ein Ende findet. Doch dann: Öffnet man die Seite im Internet Explorer. Welche Version ist egal – Sie sieht auf jeder Version zerhackstückt, zerschossen und unschön aus. Kurz: Absolut beschissen.

Read the rest of this entry »