Formular mit Daten aus Datenbank füllen
Eingetragen von RomanDrechsel (15)
am 12.02.2009 - 13:33 Uhr in
am 12.02.2009 - 13:33 Uhr in
Hi,
ich habe eine Seite mit einem Formular:
<?php
function members_details($id) {
return drupal_get_form("members_details_form");
}
function members_details_form() {
$form = array();
$form["name"] = array(
"#title" => t("Vollständiger Name"),
"#type" => "textfield",
"#description" => t("Geben Sie den vollständigen Namen an"),
"#required" => true
);
[...]
return $form;
}
?>
Wie kann ich jetzt an die Formular-Funktion die $id weitergeben, um dann die Informationen aus der Datenbank als Vorauswahl in das Formular zu schreiben?
Gruß
- Anmelden oder Registrieren um Kommentare zu schreiben
Das ist einfach ..
am 12.02.2009 - 15:03 Uhr
Im Prinzip setzt du einfach noch
'#default_value' => $datenbankergebnis -> xyz,
in das Form-Array ein.
Dann sieht die Funktion so aus:
function members_details_form() {
$datenbankergebnis = db_fetch_object(db_query('meine Abfrage));
$form = array();
$form["name"] = array(
"#title" => t("Vollständiger Name"),
"#type" => "textfield",
"#description" => t("Geben Sie den vollständigen Namen an"),
'#default_value' => $datenbankergebnis -> xyz,
"#required" => true
);
[...]
return $form;
}
Das ganze geht nicht nur mit Default-Werten sondern ist auch gut für Listenelemente zu gebrauchen.
Gruß
UwBach
Hi, soweit ist das schon
am 12.02.2009 - 15:17 Uhr
Hi,
soweit ist das schon klar, aber irgendwie muss der Funktion doch die ID mitgegeben werden, um eine Datenbank-Abfrage zu machen.
<?php
function members_details_form($id) {
$datenbankergebnis = db_fetch_object(db_query("SELECT * FROM members WHERE id='$id'));
[...]
}
?>
Gruß
Parameterübergabe
am 12.02.2009 - 15:19 Uhr
Wenn Du Dir die Dokumentation unter http://api.drupal.org/api/function/drupal_get_form/6 genau ansiehst, siehst Du, daß drupal_get_form weitere Argumente annimmt und an dahinterliegende Funktionen weitergibt. Also muß es in Deinen Code heißen
<?php
function members_details($id) {
return drupal_get_form("members_details_form", $id);
}
function members_details_form($id) {
$form = array();
$form["name"] = array(
"#title" => t("Vollständiger Name"),
"#type" => "textfield",
"#description" => t("Geben Sie den vollständigen Namen an"),
'#default_value' => $datenbankergebnis -> xyz, // unter benutzung von $id erzeugt
"#required" => true
);
[...]
return $form;
}
?>
Gruß
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *