[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
xForm ID Aufruf - 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/
ManuelSeipel
Beiträge: 78
Registriert: 6. Jul 2012, 16:19
Wohnort: Wächtersbach

xForm ID Aufruf

18. Dez 2015, 23:49

Hallo alle zusammen,

habe mir in der xForm ein Frontend Daten weiterverarbeitung gebastelt.
Einen Datensatz aufrufen und wieder speichern über:

Code: Alles auswählen

com_auth_load_user|userinfo|login,email,online,....
action|db|rex_com_user
objparams|getdata|1
objparams|main_table|rex_com_user


hidden|id|0|get_Detail|[no_db]

objparams|main_where|id=710   //ID von Hand Eingetragen

checkbox|online|Online 1. Klasse|Values(0,1)|default clicked (0/1)|[no_db]
text|firstname|Vorname:*
validate|empty|firstname|<font color="#FF0000"><strong>Bitte gebe einen Vornamen ein.</strong></font>
usw.....

submit||Speichern|no_db


action|db|rex_com_user|main_where

funzt einwandfrei

Aufrufen möchte ich das ganze aber aus einer liste mit dem Link:
.../bearbeiten.html?Detail=710 (bzw. entsprechende ID)

wie bekomme ich die entsprechende ID in die Zeile

Code: Alles auswählen

objparams|main_where|id=###id###
mit den vorhandenen Foreneinträgen komm ich irgendwie nicht weiter........

Update:
bei jedem speichern (wenn die ID mit "objparams|main_where|" fest definiert ist) wird wie in andern Foreneinträgen ein neuer Datensatz erstellt .... :-(


Vielen Dank vorab

Gruß Manuel

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: xForm ID Aufruf

19. Dez 2015, 11:13

Hi Manuel,

beim XForm-Formbuilder musst du "Bei Submit" "Nur in Datenbank speichern oder aktualisieren wenn "main_where" gesetzt ist" auswählen.
Dann kannst du in dem unten aufpoppenden Textfeld folgendes definieren:

Code: Alles auswählen

<?php
if($id = rex_get('id', 'int'))
  $xform->setObjectparams('main_where', 'id = '.$id);
?>
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

ManuelSeipel
Beiträge: 78
Registriert: 6. Jul 2012, 16:19
Wohnort: Wächtersbach

Re: xForm ID Aufruf

19. Dez 2015, 19:07

Hallo Robert,

hab ich gemacht, jetzt kommt nur ein Datensatz hinzu statt zwei.... :-(

und was mach ich beim aufrufen mit der ID verkehrt...

Hier nochmal der aktuelle Code:

Code: Alles auswählen

com_auth_load_user|userinfo|login,email,firstname,name,club,team,team2,strasse,plz,ort,transponder,newsletter,telefon,handy,eingegangener_betrag,online,online2,email,lizenz,verband,geb,last_action_time

action|db|rex_com_user|main_where
objparams|getdata|1
objparams|main_table|rex_com_user

objparams|main_where|id=935

php|name|<?php echo 'ID: '.$_GET["Detail"].''; ?>

select|online|Online 1. Klasse|Nein=0,Ja=1|[no_db]|defaultwert=nein|multiple=1|selectsize=1
select|online2|Online 2. Klasse|Nein=0,Ja=1|[no_db]|defaultwert=nein|multiple=1|selectsize=1

text|eingegangener_betrag|Eingegangener Betrag:

text|firstname|Vorname:*
validate|empty|firstname|<font color="#FF0000"><strong>Bitte gebe einen Vornamen ein.</strong></font>

text|name|Nachname:*

text|strasse|Straße:*
validate|empty|strasse|<font color="#FF0000"><strong>Bitte gebe eine Straße ein.</strong></font>

text|plz|PLZ:*
validate|empty|plz|<font color="#FF0000"><strong>Bitte gebe eine Postleitzahl ein.</strong></font>

text|ort|Wohnort:*
validate|empty|ort|<font color="#FF0000"><strong>Bitte gebe einen Wohnort ein.</strong></font>

text|email|E-Mail:*
validate|email|email|<font color="#FF0000"><strong>Bitte gebe eine E-Mailadresse ein.</strong></font>

text|club|Club:

text|telefon|Telefon:

text|handy|Handy:

select_sql|lizenz|Lizenz:|SELECT CONCAT(lizenz) as id, CONCAT(lizenz) as name FROM rex_lizenz

select_sql|verband|Verband:|SELECT CONCAT(verband) as id, CONCAT(verband) as name FROM rex_verband

date|geb|Geburtsdatum:|1920|2011|Tag:###D###-Monat:###M###-Jahr:###Y###|
validate|empty|geb|<font color="#FF0000"><strong>Bitte gebe ein Geburtsdatum ein.</strong></font>

text|transponder|AMB/MYLAPS MX Transpondernr.:

text|team|Team:

text|team2|Team für 2. Klasse:

hidden|newsletter|1||[no_db]

datestamp|last_action_time|YmdHis|[no_db]|0
submit||Speichern|no_db
Gruß Manuel

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: xForm ID Aufruf

22. Dez 2015, 17:24

Hi,

ich werd aus deiner Fehlerbeschreibung nicht schlau?
Wieso sollten zwei Datensätze gespeichert werden?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

ManuelSeipel
Beiträge: 78
Registriert: 6. Jul 2012, 16:19
Wohnort: Wächtersbach

Re: xForm ID Aufruf

29. Dez 2015, 12:48

Ok, hab ich ein bischen doof geschrieben..
Natürlich soll nur der vorhandene Datensatz aktualisiert werden.
In der jetzigen Konfiguration kommt beim speichern der Änderung jeweils ein neuer Datentensatz mit den gleichen Inhalten hinzu.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: xForm ID Aufruf

1. Jan 2016, 16:10

Hi,

dann ist main_where nicht gesetzt.
Denn sobald da was drin steht, wird die update-Methode aufgerufen.
Schlimmstenfalls müsste eine Fehlermeldung kommen.
Hast du den Debugmodus aktiviert?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

ManuelSeipel
Beiträge: 78
Registriert: 6. Jul 2012, 16:19
Wohnort: Wächtersbach

Re: xForm ID Aufruf

1. Jan 2016, 23:11

Hallo Robert, ein frohes neues wünsche ich...

ja hab ich gemacht.
es wird einmal

Code: Alles auswählen

Query: UPDATE `rex_com_user` SET `online`='0',   usw...    `last_action_time`='20160101215856' WHERE id=935
und einmal

Code: Alles auswählen

Query: INSERT INTO `rex_com_user` SET `online`='0',   usw...     
ausgeführt.

in der xForm hab ich main_where wie folgt drin.

Code: Alles auswählen

action|db|rex_com_user|main_where
objparams|getdata|1
objparams|main_table|rex_com_user
objparams|form_showformafterupdate|1

objparams|main_where|id=935
Gruss Manuel

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: xForm ID Aufruf

7. Jan 2016, 06:17

Du darfst die Action "db" nicht manuell ausführen. Das erledigt das Modul schon für dich.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

ManuelSeipel
Beiträge: 78
Registriert: 6. Jul 2012, 16:19
Wohnort: Wächtersbach

Re: xForm ID Aufruf

20. Okt 2016, 14:54

Hallo alle zusammen,

Meine Rennsaison ist zu Ende, da kann ich mich wieder diesem hier zuwenden...

Habe den code im xForm Modul mal reduziert auf:

text|name|Name:*

"Bei Submit" "nur in DB Speichern oder akt...."

rex_com_user Tabelle ausgewählt

Daten aus DB hohlen angehakt

Where Klausel wie von Xong vorgegeben:

<?php
if($id = rex_get('id', 'int'))
$xform->setObjectparams('main_where', 'id = '.$id);
?>

Der richtige Datensatz wird angezeigt.

beim erneuten abschicken bekomme ich dann aber die Meldung:

Code: Alles auswählen

Query: SELECT * from rex_com_user WHERE
Affected Rows: 0
Error Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Error Code: 1064

    ErrorCode - EntryNotFound
Da bleibe ich an der Stelle hängen in welcher nähe ich suchen soll...
Die Tabellenspalte existiert.

Falls es relevant sein sollte:
Version
REDAXO: 4.5.1
PHP: 5.3.29
Datenbank
MySQL: 5.6.19

xForm Version 4.5.1

Vielen Dank für eure Hilfe.

Gruß Manuel

Zurück zu „Allgemeines [R4]“