bist Du sicher, dass diese Spalten nicht in eine eigene Tabelle ausgelagert gehören? Für mich klingt das nach einer 1:n-Verknüpfung.
Das ist eine gute Idee, wenn ich dich richtig verstehe meinst ich solle eine neue Tabelle anlegen mit nur zwei Spalten (id + Wert) und in der Ursprungstabelle den "Bereich" in zwei Spalten speichern (id_min + id_max)
id | Name | Spalten |
1 | foo | 3;6;8 |Ein Zelleninhalt einer DB ist atomar. Das heißt, Du hast hier *einen* Wert "3;6;8" und *nicht* mehrere Werte.
Das ist mir klar ^^ dass das nur ein Wert ist, ich zerlege ihn ja auch erst später in mehrere (siehe Code). Die Frage war im Grunde, ob es ein Wert sein *muss* oder ob ich auch eine Wert-Reihe in eine Spalte schreiben kann (eine mögliche Lösung hast du mir ja gerade gezeigt).
Ähnliche Konstrukte hatte ich auch schon mit Speratoren und Subseperatoren.
Name1%Wert1;Name2%Wert2;Name3%Wert3
wird zu
$array[0][0] = 'Name1';
$array[0][1] = 'Wert1';
$array[1][0] = 'Name2';
$array[1][1] = 'Wert2';
$array[2][0] = 'Name3';
$array[2][1] = 'Wert3';
mittels
$array = explode(';',$Zeile);
foreach ($array as $key => $value) {
$array[$key] = explode('%',$value);
}
Ich denke aber dein Vorschlag hat 'was für sich, ich werde das ausprobieren.
Schönen Dank!