[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • multiple Select & split (MultipleSelectbox)
Seite 1 von 1

multiple Select & split (MultipleSelectbox)

Verfasst: 30. Aug 2016, 07:39
von elsethos
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?

Re: multiple Select & split (MultipleSelectbox)

Verfasst: 30. Aug 2016, 09:21
von robo
Hallo,

versuch mal die PHP-Funktion explode...

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

LG
Robert

Re: multiple Select & split (MultipleSelectbox)

Verfasst: 30. Aug 2016, 09:31
von elsethos
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.

Re: multiple Select & split (MultipleSelectbox)

Verfasst: 30. Aug 2016, 09:40
von robo
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

Re: multiple Select & split (MultipleSelectbox)

Verfasst: 30. Aug 2016, 09:47
von elsethos
Jupp, so stehts in der DB :wink:

Re: multiple Select & split (MultipleSelectbox)

Verfasst: 1. Sep 2016, 08:34
von Thomas.Blum
Hej,

Code: Alles auswählen

<?php

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

Re: multiple Select & split (MultipleSelectbox)

Verfasst: 1. Sep 2016, 10:31
von elsethos
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);
}