Robert R.: Datenabgleich mit PHP und JavaScript

Beitrag lesen

Liebe Mitdenker,
liebe Wissende,
liebe Neugierige,

ja!

-feld[addr1][ort]
-feld[addr2][ort]
würde klappen mit multiplen select und max Auswahl 2, aber

-feld[addr][ort]
-feld[addr][str]
ist in einem einzelnen INPUT nicht möglich. So hab ich die Antworten verstanden.

Nein, aber mit einer Select-Multiple-Box oder mit Checkboxes, die den Werten zugeordnet sind.

Statt der praktischen JavaScript-Lösung kannst Du auch Checkboxes benutzten.

Da wir leider nicht wissen können, was Du eigentlich vor hast, können wir Dir nicht vernünftig helfen. Bitte beschreib doch mal die Aufgabenstellung etwas detaillierter.

Außerdem kannst Du dir dein HTML (also die Eingabefelder) doch von PHP (datenabhängig) generieren lassen.

Angenommen, Du hast drei Datensätze zur Auswahl:

$_rec[1]['firstname'] = 'Peter';
$_rec[1]['lastname']  = 'Pullermann';
$_rec[1]['address']   = 'Seicherstraße 13';
$_rec[1]['plz']       = NULL;
$_rec[1]['city']      = 'Pinkelburg';

$_rec[2]['firstname'] = 'Peter';
$_rec[2]['lastname']  = 'Pullermann';
$_rec[2]['address']   = NULL;
$_rec[2]['plz']       = '01234']
$_rec[2]['city']      = 'Pinkelburg';

$_rec[3]['firstname'] = 'Peter-Paul';
$_rec[3]['lastname']  = NULL;
$_rec[3]['address']   = 'Seicherstraße';
$_rec[3]['plz']       = '01234';
$_rec[3]['city']      = 'Pinkelburg-Stinkhausen';

Soweit ich das verstanden habe, willst Du die Daten nun verdichten:

$_rec['result']['firstname'] = 'Peter-Paul';
$_rec['result']['lastname']  = 'Pullermann';
$_rec['result']['address']   = 'Seicherstraße 13';
$_rec['result']['plz']       = '01234';
$_rec['result']['city']      = 'Pinkelburg-Stinkhausen';

Du müsstest die angezeigten Daten also anklickbar oder auswählbar machen:

$_rec['select']['firstname'] = 3;
$_rec['select']['lastname']  = 1;  ## oder 2
$_rec['select']['address']   = 1;
$_rec['select']['plz']       = 2;  ## oder 3
$_rec['select']['city']      = 3;

Das kannst Du dann auf dem Server auswerten.

Du müsstest also z.B. über jedes Feld eine Radio-Group legen (senkrecht), sodass man immer nur eine Zeile von ['name'] auswählen kann

Ergänzend kannst Du dann noch einen leeren Datensatz bereitstellen. Wenn in dessen Felder etwas  eingegeben wird, gilt dieses Feld.

Wenn man JavaScript benutzt zur Auswahl. kann man den angebotenen Wert auch automatisch in den Zielwert übertragen lassen. Den kannst Du dann anschließend noch editieren, bovor Du postest. Die Vorschlagsfelder dürfen dazu auch gleichnamig sein, also alle Nachnamensfelder heißen ['lastname'], alle Ortsfelder heißen ['city'].

Damit benötigst Du imho nur eine einzige JavaScript-Funktion, die nur genügend geschickt geschrieben sein muss. Die bindest Du dann bgei den Feldern für das onClick-Event ein, und das wars schon!

Auf dem Server kommt dann nur das Ergebnis an.

Spirituelle Grüße
Euer Robert

--
Möge der Forumsgeist wiederbelebt werden!