[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
xForm Daten Weiterverarbeitung - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

xForm Daten Weiterverarbeitung

21. Feb 2012, 18:08

Hallo zusammen,

Wie kann ich mit xForm die Datensätze aus der Datenbank weiter in einem Formular verarbeiten.

Beispiel
ID |Name|vorname|strasse|

Wie kann ich den Datensatz mit der ID 5 in einem Formular über xForm aufrufen oder benutzen?

Gruß
Seb

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: xForm Daten Weiterverarbeitung

21. Feb 2012, 18:30

Dem xForm Formular kannst Du natürlich wieder via GET die ID übergeben und die where Klausel damit befüllen.

1) objparam setzen

Code: Alles auswählen

objparams|getdata|1
objparams|form_showformafterupdate|1
2) Hidden Feld definieren (zum Beispiel so)

Code: Alles auswählen

hidden|id|0|GET_VARIABLE|no_db 
GET_VARIABLE -> Der Name deiner GET Variable

...
Dazwischen deine ganz normalen Felder die Du bearbeiten möchtest. Das Lable muss dabei mit dem Namen der Spalte in der Datenbanktabelle identisch sein.
...

3) Action definieren

Code: Alles auswählen

action|db|tblname|id=###id###
###id### -> lable des Hidden Feldes

Das müsst es gewesen sein ;)
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: xForm Daten Weiterverarbeitung

21. Feb 2012, 18:59

Danke Markus,

Soweit versteh ich das ja, aber funktionieren bringen ist was anderes.

Also die Tabelle heißt "user" und ich möchte Name und so weiter in "input" Feldern stehen haben und abändern können.
Gehen wir mal davon aus das der wert nicht übertragen werden muss (mal einfach zum Testen) und die "id" wäre 5.
Wie sieht dann der xForm code aus?

Code: Alles auswählen

objparams|getdata|1 // was macht das genau?
objparams|form_showformafterupdate|1 // was macht das genau?

hidden|id|0|GET_VARIABLE|no_db

action|db|user|id=5

text|name|Name
text|vorname|Vorname
text|strasse|Straße

Danke dir :-)

Gruß
seb

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: xForm Daten Weiterverarbeitung

21. Feb 2012, 19:12

Hm. Habs noch mal überarbeitet. War nicht ganz richtig.

Code: Alles auswählen

objparams|getdata|1
objparams|form_showformafterupdate|1
objparams|main_table|user
objparams|main_where|id=###id####

hidden|id|0|GET_VARIABLE|no_db
text|name|Name
text|vorname|Vorname
text|strasse|Straße

action|db|user|main_where
Zeile 1: Daten werden aus der datenbank ausgelesen UND in die Felder befüllt.
Zeile 2: Formular wird NACH UPDATE wieder angezeigt.
Zeile 3: Tabelle die ausgelesen wird
Zeile 4: Bedingung welcher Datensatz; ###id### wird durch den Value des Hidden Felds ersetzt

Letzte Zeile: Daten werden in user unter verwendung der main_where wieder zurück geschrieben.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: xForm Daten Weiterverarbeitung

24. Feb 2012, 13:04

Hi Markus,

Erst mal danke, funktioniert!!

Jetzt hab ich wir auch anders zu erwarten noch fragen mit

Code: Alles auswählen

###id###
kann ich via GET die Daten übertragen?

Und wo finde ich eine Übersichts- und Funktionsliste von xForm die etwas die einzelnen Funktionen beschreibt.

Gruß
Jochen

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: xForm Daten Weiterverarbeitung

24. Feb 2012, 13:18

Nehmen wir mal an unser Formular wird auf dieser Seite mit folgender URI aufgerufen:
/kategorie/artikel.html?paramater=1

hidden|id|0|parameter|no_db
objparams|main_where|entry_id=###id####

### ### sind Platzhalter für den Wert eines anderen xform Feldes.

Dann wird das Hiddenfeld mit dem GET Wert 1 befüllt, und die main_where welche den Platzhalter des hidden felds nutzt ebenfals mid entry_id=1 gesetzt.

Der Zwischenschritt über das hiddenfeld ist deshalb notwendig, weil nur dieses Daten per REQUEST erhalten kann.

Ich hoffe das war die Antwort auf Deine Frage ;)

P.S. eine Übersichtsliste gibt es, aber Beschreibungen gibts nur die, die auch im Backend stehen - alles weitere muss man im Sourcecode nachlesen.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: xForm Daten Weiterverarbeitung

24. Feb 2012, 14:42

Hi Markus,

so ganz bekomme ich es nicht hin.

Code: Alles auswählen

objparams|main_where|id=###test###

hidden|test|5|REQUEST_ID|no_db
Also wenn ich das richtig versteh, soll 5 => default wert sein, dann wird ###test### durch 5 ersetzt.
Aber das funktioniert schon nicht, der Fehler "ErrorCode - EntryNotFound" wird ausgegeben.

Gruß

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: xForm Daten Weiterverarbeitung

24. Feb 2012, 18:30

Bin mir grade nicht sicher ob es mit dem Default-Wert auch funktioniert, wenn die daten per REQUEST erwartet werden. Probiers doch einfach kurz mit GET.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: xForm Daten Weiterverarbeitung

24. Feb 2012, 18:53

Dank dir das du dir Zeit nimmst, mir zu helfen.

Hab das alles schon versucht, das mit dem ###id### funktioniert nicht.
Query: SELECT * from user WHERE Array
Affected Rows: 0
Error Message: Unknown column 'Array' in 'where clause'
Error Code: 1054
Es funktioniert weder per GET noch der Default Wert.

Code: Alles auswählen


objparams|getdata|1
objparams|form_showformafterupdate|1
objparams|main_table|user
objparams|main_where|id=###id###

// 1 schon getestet
hidden|id|5|test|no_db 
//2 schon getestet
hidden|id||test|no_db 
//3 schon getestet
hidden|id|5||no_db

text|name|Test1
text|vorname|Test2
text|strasse|Straße
action|db|user|main_where

PS: Kann ich mir ###id### auch mal ausgeben lassen?

Gruß
seb

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: xForm Daten Weiterverarbeitung

24. Feb 2012, 19:09

Ja du hast recht. Ich hab da selber was verbasselt. Sorry :oops:

diese Zeilen bitte wieder löschen:
objparams|main_where|id=###id###

das hidden-field in folgendes ändern:

Code: Alles auswählen

hidden|test|5|REQUEST|no_db 
und unten bei "Bei Submit" => In Datenbank speichern ....
und da unten in der Wehre Klausel folgendes eintragen

Code: Alles auswählen

<?php $xform->setObjectparams("main_where",'id="'.rex_request('test','int').'"'); ?>
So muss es jetzt auf jeden Fall gehen :) Wenn nicht fress ich nen Besen.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: xForm Daten Weiterverarbeitung

25. Feb 2012, 11:22

Also jetzt kann ich es übergeben, bekomme nur noch einen Fehler angezeigt
und für was ist dann eigentlich das hidden dann noch gut?

Code: Alles auswählen

Notice: Undefined property: rex_article::$objparams in XXX/redaxo/include/classes/class.rex_article.inc.php(133) : eval()'d code on line 68
Gruß

Jochen

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: xForm Daten Weiterverarbeitung

25. Feb 2012, 11:52

Das Hidden brauchen wir, damit auch beim Absenden der Parameter wieder mitgesendet wird und der geöffnete Datensatz auch wieder gespeichert werden kann.

Die Fehlermeldung sieht nicht so aus als ob sie von xform kommt - selbiges erhalte ich jedenfalls (habs eben dann doch mal getestet) mit den gemachten Angaben nicht. Aber könntest Du mal dein komplettes Formular posten? (Anderseits wärs aber auch nur ne notice und auf produktivsystemen eh nicht sichtbar)

Verwendest Du die aktuelle Github Version? Dort wurden einige Notices entfernt: https://github.com/dergel/redaxo4_xform
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: xForm Daten Weiterverarbeitung

25. Feb 2012, 12:30

Ich dreh durch, das kann doch alles nicht so schwer sein.
Ich glaub ich hab komplett ein denk Fehler drin.

Hab es jetzt mal an einer anderen Datenbank versucht, denn mir ist gerade aufgefallen, dass ich keine Update mehr mache Sonden der User immer neue angelegt wurde.
objparams|getdata|1
objparams|form_showformafterupdate|1
objparams|main_table|rex_sms_zen

hidden|test|5|REQUEST|no_db
text|anbieter|Anbieter
text|netz|Netz
text|url|Url
action|db|rex_sms_zen|main_where

Code: Alles auswählen


<?php 
	$value = "";
 	$value = rex_request('test','int');
	$value = ($value == "") ? "5" : "".$value."";

	$xform->setObjectparams("main_where",'id="'.$value.'"'); 
?>
Hast du vielleicht heute nachmittag mal so 15 min um mit mir zu per Tele. oder Ts das zu erklären?

xForm update gemacht und der Fehler ist weg :-)

Gruß
Jochen

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: xForm Daten Weiterverarbeitung

25. Feb 2012, 13:52

Schreib mir ne PM, dann schaun wer mal wie wer das hinkriegen. Heute mittag wirds eher nix.

P.S. mir ist nicht so ganz klar, was du immer mit dieser ID 5 überhaupt willst. Das ist irgendwie Sinnfrei.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: xForm Daten Weiterverarbeitung

27. Feb 2012, 17:23

Wie kann ich es verhindern, das es zusätzlich noch neu angelegt wird?

Also stand ist jetzt, es wird ein Update gemacht und einmal neu angelegt.
Wie kann ich das neu anlegen verhindern?


VG
Jochen

Zurück zu „Allgemeines [R4]“