Thread nur übergebene Parameter in db eintragen (16 answers)
Opened by wiel at 2006-09-25 22:27

wiel
 2006-09-25 22:27
#34690 #34690
User since
2006-08-08
11 Artikel
BenutzerIn
[default_avatar]
Moinsen,

ich hole mir aus einem Formular eine Menge Parameter und bau dann daraus den SQL-String zusammen Das funzt soweit. Nun wird nicht immer jedes Feld ausgefüllt. Es gibt doch sicher einen eleganteren Weg nur die ausgefüllten Felder an die DB weiterzureichen. Momentan prüfe ich das bei den betreffenden Formularfeldern manuell vorher, weise dann einer Variable einen Defaultwert oder den übergebenen Parameter zu und ersetzte das '$dbh->quote($para...' im SQL-String mit dieser Variable. Funktioniert, bläht mein Script aber unnötig auf und ich hätte in der DB auch lieber den Eintrag 'NULL' als meinen kodierten Pseudowert.

Code: (dl )
1
2
3
4
5
6
7
my %params = $cgi->Vars();
....
my $sql = "insert into recherche (ort, mv_id, mol_id, ...)
values (" $dbh->quote($params{ort}) . ","
. $dbh->quote($params{mv_id}) . ","
. $dbh->quote($params{mol_id}) . ","
. $dbh->quote($params{dgm_id}) . "," ...

Im Kopf habe ich so eine Schleife, die im ersten Teil den Schlüssel und im hinteren Teil des Sql-Strings den Wert einfügt. Bin leider unfähig sowas zu bauen zumal eine Checkbox im HTML-Formular den Wert 'on' übergibt, wenn das Häkchen gesetzt ist und in die DB als boolean konvertiert werden sollte.

MfG
wiel

View full thread nur übergebene Parameter in db eintragen