zeichenketten getrennt durch Leerzeichen aus Spalte auslesen?

mrepox

Erfahrenes Mitglied
zeichenketten getrennt durch Leerzeichen aus einer Zeile auslesen?

Hallo Leute,

ich habe in einer Mysql DB verschiedene Spalten einer Tabelle mit je mehreren Einträgen pro Feld, die so aussehen können:

Inhalt Spalte "Prozessor" von Tabelle "Konfiguration"
Code:
c1 c4 p1 p8 d3 usw.


Diese zweistelligen EInträge bezeichnen Kürzel von Artikeln aus bestimmten Artikelgruppen.

Diese Einträge will ich auslesen und in einzelnen Variablen in PHP speichern.
Z.B. durch die Funktion explode();

Wie kann ich das lösen?

Edit: Ich glaube durch einen Fehler meinerseits ist das Problem nicht klar erkannt worden von euch. Ich meinte (schon korigiert) in meinem Titel nicht aus Spalten auslesen, sondern aus Zeilen!
 
Zuletzt bearbeitet:
Also nochmal neu: bekommst du nun eine Spalte zurück mit den Werten wie folgt dargestellt:
PHP:
$var = "c1 c4 p1 p8 d3";
oder Zeilen mit diesen Werten
PHP:
$varArray = new Array (1 => "c1", 2 => "c4", 3 => "p1", 4 => "p82", 5 => "d3");
?

EIn bisschen Beispielcode könnte helfen, wie du die Daten holst (SQL Statement) und wie du sie verarbeiten willst, dann wird es klarer. Ohne Code ist das immer schwierig zu bewerten.
 
Die Anfrage an die DB sieht so aus:
PHP:
$handle = db_connect();
$query = "select cpu from konfiguration ";
$result = $handle->query($query);

und dann dachte ich an
Code:
$result->fetch_assoc()

Aber wie ich eben beim lesen über normalisierung von DB festgestellt habe, muß ich über meine Struktur nachdenken oder ?
 
Pass auf: zeig mal wie deine Tabelle aussieht mit ein paar Beispieldatensätzen. Wie eine Normalisierte Datenbank aussieht kann ich dir an einer von mir erstellten Datenbank zeigen unter http://www.dlm-racing.com/dlm_db_schema.png

Das Tool heißt "DB Designer 4" und ist Open Source - falls du es benutzen möchtest.

Es reicht aber, wenn du es mit Zeichen darstellst, wie z.B.

Code:
Tabelle User:
UserID | Username
-----------------
1 | Radhad
2 | Gott
3 | Satan
Oder so ähnlich. In dem Falle habe ich den Primärschlüssel unterstrichen. Für Fremdschlüssel wurde ich Kursiv verwenden.

Wenn dir das jetzt nichts sagt, dann musst du noch bissl lernen im Datenbankdesign (z.B. Normalisierung, ER-Modell, Datenmodell). Kann dir dann auch nen kleines Beispiel erstellen :)


Gruß Radhad
 
Also, wie eine normalisierte DB aussieht ist mir klar.
Mir reicht eigentlich die Aussage ob ich meine DB umbauen soll oder ob man die normalisierung per Anweisung "herbeiführen" kann.
Mir ist der Sinn und Zweck einer "normalisierten DB" klar geworden und es ist ja auch nicht schwer
sie entsprechend aufzubauen.

Greetz Markus
 
Da wir deine Tabelle nicht sehen können ist uns der Aufbau recht verschlossen. Je nach Aufbau ist es sinnvoll entweder die Tabelle komplett neu aufzubauen oder einfach nur die Werte in deinen Spalten atomar darzustellen und dann die extra benötigten Spalten anzufügen.
 
Also so wie ich dich verstanden habe, ist deine DB derzeit nicht normalisiert. Dann würde ich dir raten, die Datenbank neu zu machen und diesmal auch zu normaliseren. Wenn du MySQL verwendest, könnten dir die Fremdschlüssel-Abhängigkiten von der Storage Engine InnoDB bestimmt interessieren (falls diese bei deiner MySQL DB möglich ist). Näheres findet sich im Manual von MySQL.
 
Zurück