gelöschter Benutzer

Mehrere Zeilen bei einem Datensatz in einer Spalte

am 06.10.2010, 22:25 Uhr eröffnete folgenden Thread
PHP & MySQL    1625 mal gelesen    4 Antwort(en).

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] <?php echo $row->id; ?>
<?php echo $row->Kategorie; ?>
<?php echo $row->Nummer; ?>
<?php echo $row->Vorname; ?>
<?php echo $row->Name; ?>
<?php echo $row->Organisation; ?>
<?php echo $row->Titel; ?>
<?php echo $row->Verlag; ?>
<?php echo $row->Verlagsort; ?>
<?php echo $row->Jahr; ?>
<?php echo $row->Seiten; ?> [/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] <?php echo $row->id; ?>
<?php echo $row->Kategorie; ?>
<?php echo $row->Nummer; ?>
<?php echo $row->Vorname1; ?>
<?php echo $row->Name1; ?>
<?php echo $row->Vorname2; ?>
<?php echo $row->Name2; ?>
<?php echo $row->Vorname3; ?>
<?php echo $row->Name3 ?>
<?php echo $row->Organisation; ?>
<?php echo $row->Titel; ?>
<?php echo $row->Verlag; ?>
<?php echo $row->Verlagsort; ?>
<?php echo $row->Jahr; ?>
<?php echo $row->Seiten; ?> [/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



gelöschter Benutzer
am 06.10.2010, 23:16 Uhr schrieb

Hallo 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



gelöschter Benutzer
am 07.10.2010, 07:42 Uhr schrieb

Hallo Thomas!

Ja, im Original ist das eine Excel-Tabelle.

Danke für die Erklärungen.

Gruß

Marcus


babylon26903
Avatar babylon26903
Informatiker (AD)
Beginner (25 Beiträge)
am 07.10.2010, 10:41 Uhr schrieb babylon26903

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


In eigener Sache!!
Ich beim == ZDF == und ein weiteres mal auf [url="http://www.rtlregional.


gelöschter Benutzer
am 07.10.2010, 19:28 Uhr schrieb

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


  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5273 Themen und 36107 Beiträge.
Insgesamt sind 48345 Mitglieder registriert.