Thread aus Liste den Text von IDs zum string
(6 answers)
Opened by
Gustl
at 2019-12-21 13:03
User since 2011-01-27
441
Artikel
BenutzerIn
Hallo zusammen,
folgende Anforderung:
Ich habe eine Liste aus einer DB die wie folgt aussieht:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
[ { "list": "optionsLastschrift", "text": "- Bitte auswählen -", "value": 0 }, { "list": "optionsMemberRolle", "text": "1. Vorstand", "value": 1 }, { "text": "2. Vorstand", "list": "optionsMemberRolle", "value": 2 }, { "text": "Abbuchungsauftrag", "list": "optionsLastschrift", "value": 2 }, { "text": "Aktiv", "list": "optionsMemberStatus", "value": 1 }, { "list": "optionsLastschrift", "text": "Einzugsermächtigung", "value": 1 }, { "value": 7, "list": "optionsMemberRolle", "text": "Fußball - Spielleiter" }, { "value": 5, "list": "optionsMemberRolle", "text": "Fußballspieler" }, { "text": "Fußballtrainier", "list": "optionsMemberRolle", "value": 6 }, { "value": 11, "text": "Gymnastik", "list": "optionsMemberRolle" }, { "list": "optionsMemberRolle", "text": "Hausmeister", "value": 12 }, { "value": 3, "text": "Inaktiv - nicht zahlend", "list": "optionsMemberStatus" }, { "value": 2, "list": "optionsMemberStatus", "text": "Inaktiv - zahlend" }, { "value": 3, "text": "Kassier", "list": "optionsMemberRolle" }, { "text": "männlich", "list": "optionsGeschlecht", "value": 1 }, { "list": "optionsMemberRolle", "text": "Schriftführer", "value": 4 }, { "text": "Tennisspieler", "list": "optionsMemberRolle", "value": 8 }, { "value": 9, "list": "optionsMemberRolle", "text": "Tennistrainer" }, { "text": "transgender", "list": "optionsGeschlecht", "value": 3 }, { "value": 4, "list": "optionsMemberStatus", "text": "Verstorben" }, { "value": 10, "text": "Volleyballspieler", "list": "optionsMemberRolle" }, { "list": "optionsMemberRolle", "text": "Webmaster", "value": 13 }, { "text": "weiblich", "list": "optionsGeschlecht", "value": 2 } ]
Da drin sind Auswahllisten.
Jetzt habe ich zu einer Person verschiedene Rollen (optionsMemberRolle) in der DB gespeichert.
Beispiel: rolleIds: [3,10]
Ich möchte jetzt einen string aus dieser Liste, in Abhängigkeit von den RolleIds Array.
Raus kommen soll in diesem Beispiel folgendes: "Kassier, Volleyballspieler"
Hier der Aufruf der Sub: getStringChoose( \@chooseList, \@rolleIds, 'optionsMemberRolle')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sub getStringChoose{
my $chooseList = shift;
my $ids = shift;
my $list = shift;
my @listvalues;
foreach( @{$ids} ){
my $id = $_;
my @exists = grep ($_->{list} eq $list && $_->{value} == $id, @{$chooseList});
push( @listvalues, @exists);
}
my @arrayJoin;
foreach(@listvalues){
push( @arrayJoin, $_->{text} );
}
return (scalar(@listvalues) > 0) ? join(", ",@arrayJoin) : " - ";
}
Es funktioniert schon. Aber es geht doch bestimmt viel einfacher und kürzer oder?
Gruß
View full thread aus Liste den Text von IDs zum string
|