2 Werte aus einem String auslesen...

Manu_94

Neuer Benutzer
Beiträge
1
Hallo Forum,

ich habe eine Shopseite, (Joomla, Virtuemart + MySQL) hier schicke ich via Datenbank - Abfrage der Buchhaltung jeden Monat die Bestellungen der Kollegen. Auf dieser Shopseite sind noch selbsterstellte Felder (Uhrzeit + Gast + Firma) wenn ich diesen Table exportiere bekomme ich einen einzigen String. Aus diesem String brauche ich aber nur sofern vorhanden den Gast-Namen und den Namen der Firma.

So sieht diese Ausgabe ohne Gast-Namen und Firmen-Namen aus:
{"988":" <span class=\"costumTitle\">Uhrzeit:<\/span><span class=\"costumValue\" >12:45 Uhr<\/span>","1145":{"textinput":{"comment":""}},"1146":{"textinput":{"comment":""}}}


Wenn jemand einen Gast-Namen + den Namen der Firma einträgt sieht es so aus:
(Änderung zum vorigen, FETT gekennzeichnet)

{"988":" <span class=\"costumTitle\">Uhrzeit:<\/span><span class=\"costumValue\" >12:45 Uhr<\/span>","1145":{"textinput":{"comment":"Max Mustermann"}},"1146":{"textinput":{"comment":"Musterhausen GmbH"}}}

Hat hier jemand eine Idee wie ich es hinbekomme nur die jeweiligen Namen falls sie eingetragen sind mit auszugeben?

Danke schon mal im Voraus.

Gruß
Manu_94
 
Werbung:
Hat hier jemand eine Idee wie ich es hinbekomme nur die jeweiligen Namen falls sie eingetragen sind mit auszugeben?

Prinzipiell mit regulären Ausdrücken möglich aber a) ist MySQL diesbezüglich nicht grade sonderlich fitt und zum anderen:

Du machst von Design etwas massiv falsch. Der Datentype TEXT existiert nicht, um in einem Textfeld sowohl ganze Webseiten als auch Metadaten wie Name, Vorname und Firma zu speichern.

Mein Rat: tritt das ganze gepflegt in die Tonne.

Ansonsten: es gibt Tools, die aus HTML auch text machen können, den man dann vielleicht mit sed oder awk einfacher parsen kann wie das reine HTML.
 
Werbung:
Code:
test=*# select regexp_replace(regexp_replace(info,'^.*comment":"',''),'"}}','') from (select * from (select regexp_split_to_table('{"988":" <span class=\"costumTitle\">Uhrzeit:<\/span><span class=\"costumValue\" >12:45 Uhr<\/span>","1145":{"textinput":{"comment":"Max Mustermann"}},"1146":{"textinput":{"comment":"Musterhausen GmbH"}}}',',') info) foo where info ~ 'comment') bla;
  regexp_replace
--------------------
 Max Mustermann
 Musterhausen GmbH}
(2 rows)

nur mal so ...
 
Zurück
Oben