Schrift
[thread]3551[/thread]

Enum Inhalte in Select-Felder ausgeben

Leser: 9


<< >> 10 Einträge, 1 Seite
maco
 2005-03-24 22:00
#33086 #33086
User since
2005-02-22
27 Artikel
BenutzerIn
[default_avatar]
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üß
esskar
 2005-03-24 22:36
#33087 #33087
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
C:\Dokumente und Einstellungen\sak>perl
my @artenum = qw/1 2 3 4/;
my $artvalue = "3";

foreach (@artenum) {
my $selected = $artvalue eq $_ ? 'selected="selected"' : '';
print qq~<option $selected value="$_">$_</option>\n~;
}
^Z

<option value="1">1</option>
<option value="2">2</option>
<option selected="selected" value="3">3</option>
<option value="4">4</option>
maco
 2005-03-26 13:09
#33088 #33088
User since
2005-02-22
27 Artikel
BenutzerIn
[default_avatar]
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-->
[E|B]
 2005-03-26 14:07
#33089 #33089
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
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]
maco
 2005-03-26 14:13
#33090 #33090
User since
2005-02-22
27 Artikel
BenutzerIn
[default_avatar]
achso!!!!!!!!!!!!!!!!!!!

Wie auch immer, ich hab das anders gelöst!

Danke Euch!\n\n

<!--EDIT|maco|1111839356-->
renee
 2005-03-26 14:15
#33091 #33091
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
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!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
maco
 2005-03-26 14:21
#33092 #33092
User since
2005-02-22
27 Artikel
BenutzerIn
[default_avatar]
Also ich teste das erstmal in einem eigenständigen Skript und implementiere das dann in meinem Programm. Hab es nun so gelöst:

Code: (dl )
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>";
[E|B]
 2005-03-26 14:55
#33093 #33093
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
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]
pq
 2005-03-26 16:07
#33094 #33094
User since
2003-08-04
12207 Artikel
Admin1
[Homepage]
user image
[E|B
,26.03.2005, 13:55]Nimm anstatt !($artvalue eq $_) lieber $artvalue ne $_.

oder unless
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
adomanim
 2019-12-25 18:18
#191027 #191027
User since
2019-12-25
1 Artikel
BenutzerIn
[default_avatar]
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)
<< >> 10 Einträge, 1 Seite



View all threads created 2005-03-24 22:00.