Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

MySql Daten in Feld trennen...

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 20.07.2011, 14:03

Hallo,

ich möchte gerne in ein Textfeld (longtext) mehrere Einträge schreiben, soweit kein Problem, jedoch wie separiere ich diese am besten, einfach ein frei erfundenen Separator (z.B.: ;;--;;) oder gibt es hier eine schönere Lösung.

Es handelt sich hierbei um Texte, welche Komma, Absatz etc. enthalten.

z.B.:

Code: Alles auswählen

Die ist ein Testtext, welcher hier
endet.
;;--;;
Hier ist noch ein Text.
Gruß
Daniel

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Anonymous

Beitrag von Anonymous » 20.07.2011, 14:07

ne absolut saubere lösung wäre das ganze als XML in dem textfeld abzulegen....

euroexchange.de
PostRank 6
PostRank 6
Beiträge: 471
Registriert: 02.06.2007, 13:49

Beitrag von euroexchange.de » 20.07.2011, 14:09

Du solltest hierzu einen Separator verwenden welcher nie im Text vorkommt wie z.B.

|

Dieser Separator wurde auch in Textdateien verwendet und scheint geeignet.

VG

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 20.07.2011, 14:10

net(t)worker hat geschrieben:ne absolut saubere lösung wäre das ganze als XML in dem textfeld abzulegen....
Ansonsten bleibt mir wohl nur der Trenner, oder?

Gruß
Daniel

Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 20.07.2011, 14:14

Wow...

https://www.google.de/search?sourceid=n ... eren+mysql

Steht zwar vor 6 Stunden gefunden, aber :)

Dieser Tread auf Platz 5.

kanuddel
PostRank 6
PostRank 6
Beiträge: 436
Registriert: 08.07.2010, 13:40
Wohnort: München

Beitrag von kanuddel » 20.07.2011, 14:59

vllt hilft dir das:

$splitcontent=explode("</h2><p>",$content->content,2);


erstellt ein array, bei dem der 'trenner' "</h2><p>" ist. alles, inklusive dem trenner kommt ins erste feld des arrays. der rest ins zweite. egal wie oft die zeichenfolge "</h2><p>" noch vor kommt. maximal 2 felder im array. das kannst du mit der 2 am ende der funktion kontrollieren.

mit
echo $splitcontent[0]."tollerwerbebanner".$splitcontent[1];
kann ich so im ersten absatz nach der ersten h2 überschrift nen werbebanner reinklatschen.
ob das nun programmiertechnisch gut oder schlecht ist, sei mal dahingestellt. auf jeden fall erfüllt es so seinen zweck.

DanielS
PostRank 9
PostRank 9
Beiträge: 1179
Registriert: 03.08.2008, 08:45

Beitrag von DanielS » 20.07.2011, 19:19

calusa-xx hat geschrieben:... oder gibt es hier eine schönere Lösung...
Ne schönere Lösung ist die Daten direkt "richtig" in die Datenbank zu packen und zwar für jeden Eintrag eine Zeile.

calusa-xx hat geschrieben:Gruß
Daniel
Auch Daniel ;)

nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 21.07.2011, 01:48

DanielS hat geschrieben:Ne schönere Lösung ist die Daten direkt "richtig" in die Datenbank zu packen und zwar für jeden Eintrag eine Zeile.
Auf jedenfall korrekt. Zumal MySql genau aus diesem grund auch keine eingebaute Split oder explode funktion hat und du das ganze dann erst manuell auseinandernehmen musst...

Anonymous

Beitrag von Anonymous » 21.07.2011, 02:13

DanielS hat geschrieben:
calusa-xx hat geschrieben:... oder gibt es hier eine schönere Lösung...
Ne schönere Lösung ist die Daten direkt "richtig" in die Datenbank zu packen und zwar für jeden Eintrag eine Zeile.
kann man so nicht pauschal sagen.... solange Daten nicht in einer where clausel verwendet werden, kann man sie teilweise besser gesammelt in ein textfeld schreiben anstatt hier Abfragen über zig Tabellen zu machen.... z.B. zusätzliche Produkteigenschaften bei einer Datenbank mit vielen unterschiedlichen Produkten.... so kann man dann größere Produktlisten mit einer simplen select query erhalten, anstatt zu jedem Produkt nochmals nen subrequest in einer weiteren Tabelle mit zusätzlichen Produkteigenschaften zu machen.... auch würde ein direktes feld in Table für die Produkte nur für Produkteigenschaften sinnvoll sein die sehr oft verwendet werden... auch lassen sich so für ein oder mehrere Produkte weitere zusätzliche neue produkteigenschaften simpel hinzufügen ohne die table struktur und querys abzuändern...

normalisierung einer DB hört sich immer schön an, aber bei Webseiten kann es aus performancegründen teilweise sinnvoller sein Daten , zumindest zusätzlich, unnormalisiert abzuspeichern...

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 21.07.2011, 09:27

Und wenn man die einzelnen Texte dann immer wieder braucht und einzeln verarbeiten will, dann würde ich die als JSON abspeichern und fertig. Dann hat man die nach dem Auslesen gleich als ein Array vorliegen und kann drauf zugreifen.

DanielS
PostRank 9
PostRank 9
Beiträge: 1179
Registriert: 03.08.2008, 08:45

Beitrag von DanielS » 21.07.2011, 09:51

net(t)worker hat geschrieben:kann man so nicht pauschal sagen....
Alles schön und gut, aber
calusa-xx hat geschrieben:ich möchte gerne in ein Textfeld (longtext) mehrere Einträge schreiben...
Hört sich für mich nach mehreren Einträgen an, die auch separat behandelt werden soll.
Aber Du hast, die Angaben sind zu unkonkret um das genau zu beurteilen.

Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 21.07.2011, 09:59

Ja, die Texte sollen später natürlich gesplittet werden, sonst müsste ich diese nicht trenne, werden aber nach dem holen aus der Datenbank in einem Array gespeichert.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 21.07.2011, 10:08

werden aber nach dem holen aus der Datenbank in einem Array gespeichert.
Na dann nimm doch JSON. Dann schreibste das Array direkt in die DB und holst es auch wieder direkt raus. Da muss man dann nichts splitten.

Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 21.07.2011, 10:35

Synonym hat geschrieben:
werden aber nach dem holen aus der Datenbank in einem Array gespeichert.
Na dann nimm doch JSON. Dann schreibste das Array direkt in die DB und holst es auch wieder direkt raus. Da muss man dann nichts splitten.
Klingt interessant, werde ich mir mal genauer anschauen, danke.

nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 21.07.2011, 10:40

uebersehe ich hier was oder wieso koennt ihr die rohdaten nicht normal speichern, und nach dem auslesen der datensaetze (die du ja dann in der regel als array vorliegen hast) diese dann via https://php.net/manual/en/function.json-encode.php als json weitergeben...?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag