Alle einträge einer Spalte nach einer anderen sortieren und ausgeben?

SuReBuRn

Mitglied
Ich habe folgende Tabelle:

Code:
CREATE TABLE `content` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `seite` varchar(200) NOT NULL default '',
  `fs_categories` int(11) NOT NULL default '0',
  `cat` varchar(25) NOT NULL default '',
  PRIMARY KEY  (`id`),
) ENGINE=MyISAM;

In fs_categories steht eine Zahl, die auf eine Kategorie weist. Alle Einträge mit fs_ categories = 8 will ich haben, kein Problem: SELECT * FROM content WHERE fs_categories = 8.
Nun möchte ich aber, dass die Ausgabe nach der Spalte cat ausgegeben wird. In cat steht entweder main, liste, oder hilfe usw. Also alle Einträge mit fs_categories = 8 and cat = main darstellen, dann alle einträge mit fs_categories = 8 and cat = hilfe darstellen.

Wie mache ich das am besten? Einzelne Abfragen für die jeweilge cat und id find ich ziemlich unschön und wird auch lästig, wenn bei cat noch was hinzukommt :\
 
Füge noch eine Spalte Position ein, vergebe die Positionen der Reihe nach aufsteigend auf die jeweiligen gewünschten Einträge.

Sortiere die Ergebnisliste in deinem SQL-Query:

Code:
SELECT * FROM content WHERE fs_categories = 8 ORDER BY position ASC

Augenmerk auf ORDER BY legen. ORDER BY sortiert die nach der Klausel angebenene Spalte entweder Auf- (ASCendent) oder Absteigend (DESCendent).

Eigentlich ist das aber ein SQL-Problem und kein PHP-spezifisches.
 
Zurück