ORDIX News 2/2010 39 Aktuell Heute steht Larry vor einer neuen Herausforderung Das Intranet in Larry`s Firma ist an eine Datenbank angebunden Nun bekommt Larry von seinem Chef die Aufgabe, eine HTML-Seite zu erstellen, auf der man die Datenbankserver dynamisch aus einer Select- Box auswählen kann Hierfür schreibt Larry ein kleines PHP-Script Larry Ratlos Larry hat ein PHP-Problem mit der Select-Box Datenbank- statt Servernamen Als Basis liegt Larry eine Konfi gurationsdatei (siehe Abbildung 1) mit den Server- und Da- tenbanknamen vor, die in der Select-Box angezeigt werden sollen - jeweils durch ein „|“-Zeichen getrennt. Um die Selectbox im Intranet auszugeben, benutzt Larry HTML-Code, den er mit sei- nem PHP-Script erzeugt (siehe Abbildung 2). Die Select-Box soll eine Auswahl der Daten- banken anhand der Anzeigenamen (nicht der Servernamen!) ermöglichen. Als Name für die Optionen sollen die richtigen Datenbankna- men eingefügt werden. Larry bekommt beim Aufruf der Seite keinen Fehler. Jedoch bleibt die Anzeige in seiner Select-Box leer! Können Sie Larry helfen? Schicken Sie Larry bitte den richtigen PHP- Code, damit er die korrekte Anzeige in sei- ner Select-Box erhält. Auf Ihren Lösungsvor- schlag freut sich Larry bis zum 16 Juli 2010 an kniffel@ordix de <?php $lines = fi le(\"./db_name.txt\"); for ($j = 0; $j < count($lines); $j++) { $db_array[$j][] = explode(\"|\",$lines[$j]); } echo ' <label for=\"db_server\">Datenbank:</label> <select name=\"db_server\">'; for ($i = 0; $i < count($db_array); $i++) { echo '<option name=\"'.$db_array[$i][0].'\">'.$db_array[$i][1].'</option>'; } echo'</select>'; ?> Abb 2: Das PHP-Script larry_ist_ratlos.php liest die Konfi gurationsdatei aus und erstellt das HTML-Formular Lösung aus der Ausgabe 1/2010 1) ORDIX 2) 1 3) 1234 4) 12345 5) ORDIX 4711 6) Larry ist ratlos. 7) [Ljava.lang.String;@3e25a5und verwundert. Die Ausgaben in 1) bis 6) sollten eindeutig sein. Zu 7) Hier wird der Methode mit „s2“ ein Array von Objekten (String-Objekte) über- geben. Das bewirkt, dass das Array als Objekt behandelt wird und dass bei der Ausgabe die toString-Methode der Klasse Object aufgerufen wird. Dadurch wird die String-Repräsentation der Instanz ausgegeben: „Klasse@HashCodeInHex“. Larry bedankt sich bei Herrn Detering und Herr Jäschke für die richtigen Lösungen und wünscht viel Freude mit den kleinen Präsenten. prod_db_1|Produktionsdatenbank 1 entw_db_1|Entwicklungsdatenbank 1 entw_db_2|Entwicklungsdatenbank 2 Abb. 1: Die Konfi gurationsdatei db_name.txt