Part 1 Part 2 Part 3 Demo Download

02/06

Vom Web zum Desktop:

Frei positionierbare Elemente mit AJAX und PHP
Part III - PHP und CSS

Unser XMLHttp-Objekt hat eben eine Datei namens db.php geöffnet. Auch hier werfen wir noch einen kurzen Blick drauf, auch wenn es sich eigentlich gar nicht lohnt:

Oben stehen die Verbindungsparameter zur Datenbank. Danach werden die übergebenen Variablen empfangen und der entsprechende Datensatz wird upgedatet. Dieses Beispiel setzt natürlich vorraus, dass ein Datensatz mit der Element-Id schon vorhanden ist.
Hier ist ein kleines SQL-Script zur Erstellung der Tabelle:

Interessanter ist sicherlich unsere Stylesheet-Datei, welche ja, wie bereits erwähnt, eigentlich eine PHP-Datei ist:

Diese Datei wird bei jedem Seiten-Refresh aufgerufen. Damit unsere Elemente auch bei einem erneuten Besuch der Seite wieder dort zu finden sind, wo wir sie abgelegt haben, werden die Style-Eigenschaften des Elements nun dynamisch aus der Datenbank zusammengebaut. Oben haben wir als erstes eine Header-Angabe, wo wir definieren, dass es sich bei dieser Datei um ein Stylesheet handelt. Danach kommen wieder unsere Verbindungsparameter (jaja, ich weiß, dass hätte man mit einer Include-Datei auch eleganter lösen können... ;-))
Wir fragen die komplette Tabelle ab, und bilden in einer While-Schleife unser Stylesheet-Element.

Geparst sieht das ganze dann so aus:

	#menueContainer{position:absolute;left:5px;top:87px;}
				
	#submenueContainer{position:absolute;left:116px;top:91px;}
					
	#mainContainer{position:absolute;left:219px;top:206px;}
					
	#headerContainer{position:absolute;left:3px;top:29px;}
Das war´s. Bleibt nur noch zu erwähnen, dass es sich bei dem Beispiel lediglich um eine technische Demo handelt, die selbstverständlich noch weiter verfeinert werden muss. An dieser Stelle werden sich 2 Benutzer die gesetzten Koordinaten immer wieder gegenseitig überschreiben, weil u.a. eine Funktion zur Usererkennung hier nicht berücksichtigt ist.

© 2006 osdata.org


Kommentar schreiben ( Verbindung zur Datenbank nicht möglich
Access denied for user 'osdata_org'@'localhost' (using password: YES)