korea1 Geschrieben 3. November 2004 Teilen Geschrieben 3. November 2004 Hallo, ich habe folgende DB Tabellen: abteilung (primary anr, name) person ( primary pnr, vorname, nachname, tel, email, foreign key f_anr ) Ich möchte eine Administrationsmaske für die Personentabelle programmieren. Auf dieser werden alle Datensätze aus der Tabelle peson aufgelistet. funktioniert auch schon. Es werden alle Felder bis auf das Feld Abteilung als Textfield angezeigt. Das Feld Abteilung ist ein Fremdschlüssel, diesen möchte ich über ein Dropdown Feld anzeigen lassen, da der User nur vorhandene Abteilungen auswählen können soll, wenn er einen Datensatz editiert. Wie schaffe ich es, dass er mir in dem dynamischen Template die richtige Abteilung auf option selected setzt und die anderen normal? Schnipsel aus meinem Template: <select name="abteilung" class="Auswahl"> <!-- BEGIN department --> <option{DEFAULT}>{ABTEILUNG}</option> <!-- END department --> </select> Ich habe eine ForSchleife, die mir alle Personen Daten andruckt. Jetzt kann ich doch ein SQL Statement machen, das mir alle Abteilungen ausgibt und ein SQL Statement, das mir für die Person, bei der ich gerade bin die Abteilung ausgibt. Wenn SQL Statment 1 und 2 übereinstimmen, dann setze ich DEFAULT = selected und sonst lasse ich es leer. Das klappt nur leider nicht. Kann mir jemand von Euch helfen. Stimmt meine Logik nicht? Oder wie kann ich so etwas lösen? Falls Bedarf vorhanden, poste ich auch noch mehr Code. Danke korea1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 3. November 2004 Teilen Geschrieben 3. November 2004 welches TemplateSystem? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 3. November 2004 Autor Teilen Geschrieben 3. November 2004 Hi, hilft dir das weiter? /* * Session Management for PHP3 * * © Copyright 1999-2000 NetUSE GmbH * Kristian Koehntopp * * $Id: template.inc,v 1.5 2000/07/12 18:22:35 kk Exp $ * */ Gibt es in PHP sowas wie Pointer? Mein Problem is nur, dass ich eben wissen muss bei welcher Person ich gerade bin. Mir würde eine Variable reichen, die dann eben pro Schleifendurchlauf geändert wird. Ich kann das nur leider nicht in der "Personenschleife" machen, sonst kommt was völlig wirres raus. Hier mal meine Codeschnipsel aus der PHP Datei: //Query der Personendaten selektiert $SQLQuery = " SELECT p.vorname, p.nachname, p.tel, p.email, a.name, p.pnr FROM person p, abteilung a WHERE p.f_anr = a.anr ORDER BY p.nachname "; $DB->ExecQuery($SQLQuery); //Befüllen des HTML TPL for($i=0; $i<$DB->GetNumberOfRows();$i++){ $tpl->set_var(array("VORNAME" => $DB->GetValue($i,"vorname"), "NACHNAME" => $DB->GetValue($i,"nachname"), "TEL" => $DB->GetValue($i,"tel"), "MAIL" => $DB->GetValue($i,"email"), "ID" => $DB->GetValue($i,"pnr"), )); $tpl->parse("temp","datenblatt",true); }//eof for($i=0; $i<$DB->GetNumberOfRows();$i++) $DB2 = new DBConnection(); $DB3 = new DBConnection(); $SQLQueryEditPerson = "SELECT a.name FROM abteilung a, person p WHERE a.anr = p.f_anr"; $DB2->ExecQuery($SQLQueryEditPerson); $SQLQueryAbteilungDropDownMenue= "SELECT a.name AS Abteilung FROM abteilung a "; $DB3->ExecQuery($SQLQueryAbteilungDropDownMenue); for($i=0; $i<$DB3->GetNumberOfRows();$i++){ if($DB3->GetValue($i,"Abteilung") == $DB2->GetValue($i,"name")){ $Default = " selected"; }else{ $Default = ""; } $tpl->set_var(array("ABTEILUNG" => $DB3->GetValue($i,"Abteilung"), "DEFAULT" => $Default )); $tpl->parse("temp3","department",true); }//eof for ($i=0; $i<$DB3->GetNumberOfRows();$i++)[/PHP] MfG korea1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 3. November 2004 Teilen Geschrieben 3. November 2004 Bietet dir deine TemplateEngine die Möglichkeit innerhalb deines Templates IF-Clauses einbauen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 4. November 2004 Autor Teilen Geschrieben 4. November 2004 Hi, wie meinst du das? Im HTML Template? Kannst du mal ein kleines Beispiel machen. Danke korea1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 4. November 2004 Teilen Geschrieben 4. November 2004 Hi, wie meinst du das? Im HTML Template? Kannst du mal ein kleines Beispiel machen. Danke korea1 in der TemplateEngine die ich verwende kann ich z.b. If-Statements verwenden: http://smarty.php.net/manual/en/language.function.if.php dann würde ich das Template ungefähr so aufbauen: Achtung PseudoCode! <select name="abteilung" class="Auswahl"> <!-- BEGIN department --> <option <!-- IF $Abteilung == $Default --> selected="selected" <!-- ENDIF --> >{ABTEILUNG}</option> <!-- END department --> </select> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.