Mehrere Zeilen bei einem Datensatz in einer Spalte
Redaktionelle Einordnung
Diese archivierte Diskussion behandelt Mehrere Zeilen bei einem Datensatz in einer Spalte aus Sicht der Rubrik PHP & MySQL.
CMS- und Technikfragen sind heute besonders dann relevant, wenn sie Indexierung, Rendering, interne Verlinkung oder Relaunch-Risiken beeinflussen.
Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.
Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.
Startbeitrag
Originaler Foreninhalt in modernisierter Darstellung.
Hallo zusammen!
Ich hoffe, ich bekomme es einigermaßen erklärt, was ich möchte:
Und zwar habe ich hier wie man unschwer erkennen kann bei manchen Einträgen mehrere Autoren.
Ist das irgendwie machbar, diese weiterhin auch untereinander stehen zu haben, aber jeweils in einem anderen Datenbankfeld?
Die Ausgabe erfolgt über diese Anweisungen:
[html]
Ich habe in der Datenbank schon weitere Felder für Vorname und Nachname (jeweils 1,2 und 3) erstellt.
Und auch schon versucht, das wie folgt geregelt zu kriegen
[html][html]
Auch in Kombination mit dem tr-Befehl. Leider nicht so wie ich das wolte.
Es sollte nach meinen Vorstellungen ungefähr so wie jetzt aussehen.
Nur muss ich jezt um z. B. die Ausgabe hier bei id 942 so hinzubekommen in der Datenbank mit dem br-Befehl arbeiten. Was bei über mittlerweile 1100 Einträgen diese ja auch aufbläht.
Irgendeine Chance, das so hinzubasteln? Zumal die Zellen mit Vorname2 und 3 sowie die mit Name 2 und drei ja anbestimmten Stellen angezeigt werden müssen.
Danke für Anregungen im voraus
Gruß
Marcus
Antworten
4 BeiträgeHallo Marcus,
bin ich richtig mit der Annahme das du einfach alles in eine Tabelle speicherst?
Ich würde die Felder Kategorie, Author (Vorname, Name) und Verlag (Verlag, Verlagort) in jeweils separate Tabellen Auslagen. Das ganze baust du dann wieder über JOINs in der Abfrage zusammen und Filterst die Mehrfachen Einträge dann mit GROUP BY raus und holst dir die Unterdrückten Autoren mit GROUP_CONCAT und dem Trennzeichen (zB:
) wieder raus.
So hast du alles in einer Reihe stehen, statt dem
kannst du dir auch ein Trennzeichen ausdenke und dann mit expolde() weiter arbeiten.
Das wars dann eigentlich schon.
Gruß Thomas
Hallo Thomas!
Ja, im Original ist das eine Excel-Tabelle.
Danke für die Erklärungen.
Gruß
Marcus
Hey Marcus,
also ich würde dir empfehlen, erst einmal anfangen das ganze zu normalisieren!
also alle mehrfachen einträge einer spalte in einer neuen tabelle zusamenfassen.
Spalten: Kategorien, Autoren, Verlage, Bücher (haben die eine ISBN? um Sie eindeutig zu machen)
dann brauchst dir auch keine gedanken über eine aufgeblähte Datenbank machen!
Danach dürfte es recht simpel sein das wieder zusammenzubauen, so wie du es brauchst.
in der datenbank kannst du dann bei den Autoren, falls mehrere, diese untereinander schreiben, also mit zeilenumbruch. PHP bietet dir ja die Möglichkeit diese auch so auszugeben wie sie eingetragen wurden.
gruss
werner
Hallo Werner!
Danke auch Dir für deine Unterstützung.
Aber ein ISBN-Feld gibts nicht. Da der überwiegende Teil der Bücher von vor 1960 datiert, hab ich mir das gespart. Ich glaube, wer aufgrund dieser Daten zu einem Buch nicht weiß, ob es das ist, was er sucht, dem würde auch ISBN wohl nicht helfen *g*
VG
Marcus