Ich hab da ein Problem und zwar frage ich ein Datenfeld aus einer Datenbank ab.
In diesem Datenfeld sind mehrere Werte abgespeichert die durch ein ; getrennt werden.
Mein Problem ist bis jetzt, dass ich nicht eine feste Anzahl an Werten habe sondern das x viele sein können.
Wie kann ich nun den Wert des Datenfeldes immer beim ; trennen? Und die einzelnen getrennten Werte zb so ausgeben (mit einer while schleife oder so):
[quote=“technikfreak”]Ich hab da ein Problem und zwar frage ich ein Datenfeld aus einer Datenbank ab.
In diesem Datenfeld sind mehrere Werte abgespeichert die durch ein ; getrennt werden.[/quote]
Das klingt nach mangelhaftem Datendesign.
Beschaeftige dich mit dem Stichwort Normalisierung.
Die Normalform ist in diesem Fall egal und dass ich die Werte mit explode() trennen kann ist mir auch klar - aber ich hab in diesem Feld keine bestimmte Anzahl von Werten. Dh mit
$choose ="$row->profchoose";
$zerlegen = explode (";",$choose);
$ab1 = "$zerlegen[0]";
komm ich nicht weit. Weil es sollen alle geteilten Stückchen ausgegeben werden.
Das sind im uebrigen m.E. alles Sachen, auf die man auch mal selber kommen koennte - wenn man mal kurz ein bisschen nachdenkt, bevor man in ein Forum rennt …
[quote=“chrisb”][quote=“technikfreak”]Ich hab da ein Problem und zwar frage ich ein Datenfeld aus einer Datenbank ab.
In diesem Datenfeld sind mehrere Werte abgespeichert die durch ein ; getrennt werden.[/quote]
Das klingt nach mangelhaftem Datendesign.
Beschaeftige dich mit dem Stichwort Normalisierung.
explode()[/quote]
Es gibt durchaus Systeme, bei denen es notwendig ist, in ein Feld mehrere Werte zu schreiben. Damit aber trotzdem alle Zeichen verwendet werden können (hier würde zum Beispiel ein Text, der ein ; beinhaltet geteilt, obwohl er das nicht werden sollte) verwende ich serialize() und unserialize(). So bleibt außerdem auch zum Beispiel die Datenstruktur von Arrays erhalten, wodurch man sich einige explode Anweisungen sparen kann.
Dass ein solcher bei einem Anfaenger vorliegt, bezweifle ich aber.
Sowas wie
klingt nach einer Stelle, wo mehrere Auswahlmoeglichkeiten (Professoren, Professionen?) bestehen, aus denen der Nutzer beliebig viele auswaehlen kann.
Das ist selbstverstaendlich zunaechst mal ein Fall fuer Normalisierung; ausser, es sprechen wirklich sehr gute Gruende fuer eine Ausnahme an dieser Stelle.
Das klingt fuer mich nicht nach gut durchdachtem, bewusstem Abweichen davon - sondern schlicht nach “ist mir zu kompliziert”.