Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: http://redaxo.org/slack/
elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

multiple Select & split (MultipleSelectbox)

30. Aug 2016, 07:39

Hallo,

ich habe wieder ein Problem. Folgendes:
Wenn ich Daten über ein multiples Select speichere, werden diese wie folgt in der DB abgespeichert:

Code: Alles auswählen

$select = new rex_select();
$select->setName('REX_INPUT_VALUE[1][]');
$select->setMultiple(true);
Ergebnis:
["wert1","wert2","wert3"]

Wenn ich diese auslesen möchte, wie mache ich das? In älteren Versionen war dies über split mgl. Wenn ich dies nach Redaxo5 portiere:

Code: Alles auswählen

$value1 = ($value1 == '') ? (array) $default : rex_string::split(',', $value1);
erhalte ich logischerweise ein leeres Array, da rex_string::split ja nach Leerzeichen trennt. Wie kann ich mein obiges Array also nach Kommata trennen?

robo
Beiträge: 106
Registriert: 17. Aug 2012, 09:03
Wohnort: Wien
Kontaktdaten: Website

Re: multiple Select & split (MultipleSelectbox)

30. Aug 2016, 09:21

Hallo,

versuch mal die PHP-Funktion explode...

http://php.net/manual/de/function.explode.php

LG
Robert

elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

Re: multiple Select & split (MultipleSelectbox)

30. Aug 2016, 09:31

Hallo robo,

danke für die Antwort. Ich habe es mittlerweile auch mit explode, wie folgt gelöst:

Code: Alles auswählen

$default = '';
$value1 = str_replace('[', '', $value1);
$value1 = str_replace(']', '', $value1);
$value1 = str_replace('"', '', $value1);

$value1 = ($value1 == '') ? (array) $default : explode(',', $value1);
Ich dachte nur, es gäbe eine Redaxo interne, elegantere Lösung.

robo
Beiträge: 106
Registriert: 17. Aug 2012, 09:03
Wohnort: Wien
Kontaktdaten: Website

Re: multiple Select & split (MultipleSelectbox)

30. Aug 2016, 09:40

Was!!!, die eckigen Klammern etc. stehen auch in der DB???

Na dann sollte es auf jeden Falle eine elegantere Lösung dafür geben...

Hierfür hat dann sicher jemand eine elegantere Lösung auf Lager ...

Sorry, das mit den Klammern und Quots in der DB hab ich nicht gewusst.

LG
Robert

elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

Re: multiple Select & split (MultipleSelectbox)

30. Aug 2016, 09:47

Jupp, so stehts in der DB :wink:

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: multiple Select & split (MultipleSelectbox)

1. Sep 2016, 08:34

Hej,

Code: Alles auswählen

<?php

$values = rex_var::toArray('REX_VALUE[1]');
vg Thomas

elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

Re: multiple Select & split (MultipleSelectbox)

1. Sep 2016, 10:31

Hallo Thomas,

danke so klappte es.

Code: Alles auswählen

$value1 = rex_var::toArray('REX_VALUE[1]');
if(empty ($value1)){
	$cat = 'REX_VALUE["1" output="html"]';
}else{
	$cat = implode(',',$value1);
}

Zurück zu „Module/Aktionen [R5]“