Datenbankeintrag mit FormAPI
Eingetragen von Rockiger (75)
am 09.10.2007 - 16:21 Uhr in
am 09.10.2007 - 16:21 Uhr in
Hallo,
ich möchte einen Datenbankeintrag mittels eines Formulars machen.
Dazu habe ich mittels der FormAPI ein Textfeld und einen Button
erstellt. Das Textfeld bekommt als #default_value auch den aktuellen
Datenbank eintrag. Alles schön und gut.
Jetzt hab ich aber ein Problem diesen Eintrag zu speichern. Meine
Datenbankeintrag in form_submit() sieht so aus:
<?php
function mybreakingnews_form_submit($form_id, $form_values) {
$form_values['breaking_news'] = check_plain($form_values['breaking_news']); //strip most html
$result= db_query("UPDATE {content_type_groups} SET field_breaking_news_value ='".$form_values['breaking_news']."' WHERE nid = %d", $nid);
}
?>
Das Problem ist die Variable $nid, wie kann ich dafür sorgen, dass sie
als Parameter oder ähnliches nach form_submit() übergeben wird.
Vielen Dank für jegelich Hilfe.
macco
- Anmelden oder Registrieren um Kommentare zu schreiben
Woher soll $nid denn kommen?
am 09.10.2007 - 16:52 Uhr
Woher soll $nid denn kommen? Wo hast Du das Textfield und den Button eingefügt? Dein Problem ist ziemlich aus dem Zusammenhang gerissen. Für eine Lösung wäre etwas mehr Kontext/Code hilfreich ...
Erstmal danke für die
am 09.10.2007 - 17:41 Uhr
Erstmal danke für die Antwort.
Das ganze ist ein eigenes Modul mit den Funktionen
Die Idee ist jetzt folgende, dass man den z.B. Pfad 'mybreakingnews/5' wobei die 5 als Argument übergeben wird und damit $nid = 5 ist.
Das ganze funktioniert prinzipiell auch ganz gut, nur dass ich eben nicht weiß, wie ich auf $nid zugreifen soll, wenn das Formular übermittelt wurde und ich die Datenbank aktualisieren will.
Da form_submit() von Drupal selbst aufgrufen wird, kann ich die Funktion ja nicht einfach wie folgt umschreiben:
mybreakingnews_form_submit($form_id, $form_values, $nid)
Ich hoffe mein Problem ist jetzt verständlicher.
Gruß
macco
http://www.ErsteHerren.info - Das Netzwerk für alle Tennis-Spieler, Tennis-Fans und Freunde der 1. Herren des TC Blau-Weiss Wiesbaden.
Gruß
Rockiger
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)
arg()
am 09.10.2007 - 17:48 Uhr
Wenn das Argument im Pfad enthalten ist, kannst Du einfach
arg()
verwenden. Die Funktionarg(x)
liefert das x. Argument, z.B. bei 'mybreakingnews/5' ist arg(0) = 'mybreakingnews' und arg(1) = '5'. Hilft Dir das weiter?Ja, hat funktioniert.
am 09.10.2007 - 19:05 Uhr
Nochmals danke, da hätte ich mich permanent im Kreis gedreht.
Gruß
macco
http://www.ErsteHerren.info - Das Netzwerk für alle Tennis-Spieler, Tennis-Fans und Freunde der 1. Herren des TC Blau-Weiss Wiesbaden.
Gruß
Rockiger
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)