User since
2005-02-22
27
Artikel
BenutzerIn
Hi,
ich hab in einer Tabelle, eine Spalte ENUM art('1','2','3')
Ich hole mit Select-Anweisung unter andrem den Wert der für den Datensatz als art gespeichert ist.
Nun will ich dem Benutzer anbieten, dass er den Wert für art ändern kann.
Ich liste also die Attributswerte für art in einem Select-Feld auf, von denen er dann einen wählen kann.
Allerdings muss ich zuvor ja auch den aktuellen Wert für art anzeigen.
Ja und genau das ist das Problem: wenn ich jetzt zum Ändern alle Enum-Werte aufliste, dann habe ich eine Wiederholung in dem Select-Feld für den aktuellen Wert!
Hoffe, es war einigermassen verständlich!!
Grüß
User since
2005-02-22
27
Artikel
BenutzerIn
Hi Esskar;
Danke, aber wofür ist das hier in dem Code:
^Z
Ich denke das ist ein Tippfehler.
Aber ich verstehe nicht, wie dein Code mein Problem löst!
Grüß\n\n
<!--EDIT|maco|1111838102-->
User since
2003-08-08
2561
Artikel
HausmeisterIn
Das ist kein Tippfehler, sondern führt den Perl Code in einer Windows Command-Prompt aus.
Gruß, Erik!
s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}
It's not a bug, it's a feature! - [CGI-World.de]
User since
2005-02-22
27
Artikel
BenutzerIn
achso!!!!!!!!!!!!!!!!!!!
Wie auch immer, ich hab das anders gelöst!
Danke Euch!\n\n
<!--EDIT|maco|1111839356-->
User since
2003-08-04
14371
Artikel
ModeratorIn
Speichere das Ergebnis Deiner Datenbank-Abfrage in $artvalue und nimm den Code von esskar. Dann klappt das schon!
Wenn Du etwas Code zeigen würdest könnte man auch etwas detaillierter antworten!
User since
2005-02-22
27
Artikel
BenutzerIn
Also ich teste das erstmal in einem eigenständigen Skript und implementiere das dann in meinem Programm. Hab es nun so gelöst:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl
use strict;
use CGI::Carp qw( fatalsToBrowser );
print "Content-type: text/plain\n\n";
my @recordset =qw/test auftr 1/;
my @artenum = qw/1 2 3 4/;
my $artvalue = $recordset[2];
print "<form name='form1'>
<select name='status' size='1'>
<option value=$artvalue>$artvalue</option>";
foreach (@artenum) {
if (!($artvalue eq $_)){
print "<option value=$_>$_</option>";
}
}
print "</select></form>";
User since
2003-08-08
2561
Artikel
HausmeisterIn
Nimm anstatt
!($artvalue eq $_) lieber
$artvalue ne $_.
Gruß, Erik!
s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}
It's not a bug, it's a feature! - [CGI-World.de]
User since
2019-12-25
1
Artikel
BenutzerIn
Ok, ich habe das auf viele verschiedene Arten gemacht und ich habe einen bevorzugten Weg, dies zu tun. Dies sind einige Optionen, die ich nicht so sehr bevorzuge:
Speichern in einer Datenbank: Das Speichern der Optionen in einer Datenbank ist in Ordnung, es ist jedoch etwas langsam und unpraktisch, die Datenbank abzufragen, um die Namen der Optionen zu erhalten. Ich glaube einfach nicht, dass die Datenbank der richtige Ort ist, um etwas zu speichern, das vom Endbenutzer der Software niemals geändert wird.
.
Last edited: 2019-12-25 19:34:21 +0100 (CET)