Mailinglisten-Archive |
Hallo Leute,
trotz des herrlichen Wetters draussen und des vielen Sonnelichts komme
ich nciht weiter.
Bei einer "Sicherheitsfrage" werden geänderte Felder wie folgt für die
UPDATE-Funktion aufbereitet:
<snip>
foreach ($WerteArr as $Key => $kVal) {
$Tabelle.= '<input type="hidden" name="SET[]" value="';
$Tabelle.= base64_encode($Key.'@'.$kVal).'">'."\r\n";
}
</snip>
"SET[]" einfach, damit ich alle mit einem Rutsch verarbeiten kann
(s.u.). Beim endgültigen Sichern sollen bestimmte $Key extra
verarbeitet werden. So hier alles, was nciht mit "INV" zu tun hat:
<snip>
/*
$SET = Felder zu ändern in Form Schlüssel at Wert
$dSET = zerlegtes $SET, Schlüssel in $dSET[0], Wert in $dSET[1]
$cSET = Anzahl der Felder
$mSET = MySQL UPDATE-SET
$sSET = 1 sofern Schlüssel "INV" enthält sonst 0
*/
$SET = decode_base64($_POST['SET']);
$cSET = count($SET);
$mSET = '';
for ($x = 0; $x < $cSET; $x++) {
$dSET = explode('@', $SET[$x]);
$sSET = substr_count($dSET[0], 'INV');
if (empty($sSET)) {
if ($dSET[0] == 'KND_NR') $dSET[0] = 'kunnr';
if ($dSET[0] == 'VERKAEUFER') $dSET[0] = 'an';
$mSET.= strtolower($dSET[0]).' = "'.$dSET[1].'"';
if ($x + 1 < $cSET) $mSET.= ', ';
else $mSET.= ' ';
}
}
</snip>
Es bleibt aber immer noch ein Komma übrig. Geändert wurden 3 Felder (2x
anderes, 1x Bzgl. "INV").
"UPDATE fibu_db.probleme SET kunnr = "4711", problem = "Das...", WHERE
lfd_nr = 1".
Gibt es da noch eine passende Möglichkeit oder muss ich es doch mit
"str_replace()" entfernen?
Vielen Dank für eure Tipps schonmal.
--
Mit freundlichen Grüßen / Kind regards
Steffen Kother
php::bar PHP Wiki - Listenarchive