Mailinglisten-Archive |
Steffen Kother wrote:
> 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 = '';
$mSET = array();
> 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].'"';
$mSET[] = strtolower($dSET[0]).' = "'.$dSET[1].'"';
> // if ($x + 1 < $cSET) $mSET.= ', ';
> // else $mSET.= ' ';
> }
> }
$mSET = implode( ', ', $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?
--
Sebastian Mendel
www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive