WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Kategorie "gruppieren" » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von tron187
Hi,

vielen Dank für die Hinweise. Ich habe mich nun entschlossen, eine extra Tabelle für die Kategorien zu erstellen. Nur wie verknüpfe ich die Tabelle Links mit der Tabelle Linkkategorie?

Muss ich dann immer noch den PHP-Quellcode ändern!?

Gruß tron187
von subjective
Das funktioniert allerdings konzeptionell nur mit einer geringeren Anzahl an Links - der Grund ist, das du immer alle Daten auslesen mußt - was nicht unbedingt der Sinn von SQL ist. Die "Gruppierung" die du möchtest läßt sich nicht über SQL abbilden. - Du mußt die Links einfach nach Kategorie sortiert rausholen.

1:
SELECT Kategorie, Linktitel, Beschreibung, URL as cat_links FROM `$tabelle` ORDER BY Kategorie, Linktitel


Im PHP-Quellcode definierst du eine Variable "$LetzteKategorie = ''" bevor du die Datensätze aus dem Ergebnis ausliest. Dann prüfst du für jeden Datensatz ob die aktuelle Kategorie sich von der Variable unterscheidet. Wenn dies der Fall ist, gibst du das HTML für die Kategorie aus und ändert die Variable auf die aktuelle Kategorie.

Die Gruppierung ist ja nur optisch für die Ausgabe - eine Gruppierung in SQL faßt hingegen Inhalte zusammen. Außerdem solltest du darüber nachdenken eine seperate Tabelle für die Kategorien zu nutzen und in den Links nur noch die ID der Kategorie zu speichern. Such mal im Web nach "Datenbanknormalisierung".
von HoRnominatoR
aso. mk, dachte die wuerden sich vielleicht irgendwie ueberschreiben.
von tron187
Hi,

ich hatte mein Testscript gepostet. Genau das ist mein Problem, ich möchte ja nicht die Anzahl der Links haben, sondern ich möchte die Links, Beschreibung ausgeben. Diese sollen dann unter der Kategorie stehen.

Dies ist was ich möchte:

KATEGORIE ALLGEMEIN
Link1 / Beschreibung
Link2 / BEschreibung

und ich erhalte


KATEGORIE ALLGEMEIN
Link1 / Beschreibung
KATEGORIE ALLGEMEIN
Link2 / Beschreibung

Die KATEGORIE ALLGEMEIN soll jedoch nur einmal auftauchen, sonst wird es ja zu unübersichtlich...

Hier mal der Link zu meiner Seite
http://franky.homeip.net/links.php

Gruß Franky
von subjective
Hornominator: ORDER BY steht immer am Ende - da man erst das Ergebnis (also nach dem Gruppieren sortiert).

tron187: Ich verstehe dein Problem nicht ganz du holst die Kategorien und die Anhazhl der Links darin. Du gruppierst also die Links - nicht die Kategorien. Das sieht eignetlich auch recht sinnvoll aus.

Danach gibst du jedoch URL, LinkTitel und Beschreibung aus - diese Daten kommen in dem SQL-Query gar nicht vor.

Nach oben