Hi BackBuckle,
um jenses zu ergänzen:
Du kannst in PHP mehrere Varianten der Abfrageerstellung programmieren:
Variante 1:
Ändere Deinen Code:
// Die Datenbank ansprechen und in einer Schleife ausgeben
$query = "SELECT * FROM user_spielplan_main";
$query.=" WHERE deleted = 0 AND hidden = 0 AND pid ='".$spielplanPageId."'";
$res = mysql(TYPO3_db,$query);
while($row = mysql_fetch_assoc($res)) {
in:
// Die Datenbank ansprechen und in einer Schleife ausgeben
$query = "SELECT * FROM user_spielplan_main";
$query.=" WHERE deleted = 0 AND hidden = 0 AND pid ='".$spielplanPageId."' ORDER BY sorting";
$res = mysql(TYPO3_db,$query);
while($row = mysql_fetch_assoc($res)) {
Wesentlich eleganter und "Typo3-spezifischer" ist Deine
Variante 2:
$res = $this->pi_exec_query('user_spielplan_main','','','','','sorting');
Ich bevorzuge eigentlich immer die 2. Variante, weil dadurch z.B. bereits von Typo3 die Datenbankabstraktion (also die theoretische Möglichkeit, auch andere Datenbanken außer MySQL anzusprechen) unterstützt wird. Schau Dir bitte ferner mal die von der Funktion pi_exec_query (findest Du in "class.tslib_pibase.php) erwarteten Übergabeparameter an:
function pi_exec_query($table,$count=0,$addWhere='',$mm_cat='',$groupBy='',$orderBy='',$query='') {
Parameter Nr. 2 erwartet einen Integer, der die Funktion dazu veranlasst, einen COUNT durchzuführen oder nicht. Smarter wäre daher diese Version von Variante 2:
$this->pi_exec_query('user_spielplan_main',0,'','','','sorting');
Du könntest auch absteigend sortieren. Das funktioniert z.B. durch
$this->pi_exec_query('user_spielplan_main',0,'','','','sorting DESC');
Außerdem besteht die Möglichkeit, die einzelnen Parameter dynamisch zusammensetzen zu lassen und als Variable zu übergeben (wenn Du z.B. einen Switch für auf- oder absteigende Sortierung realisieren möchtest):
$this->pi_exec_query('user_spielplan_main',0,'','','','.$sortOrderString.');
Wie Du siehst, kannst Du aber noch weitere Kombinationen als Parameter an die Funktion übergeben. Solltest Du Dich doch noch mit Datenbanken anfreunden wollen, kannst Du damit mal rumexperimentieren.
Zurück zu Deinem Problem:
Du hast - wie jenses charmant anmerkte - in Deinem Script beide Varianten verwendet, was dazu führt, dass Deine Zeilen 2+3 in der Tat überflüssig werden. Kommentiere sie also einfach mal aus. Du solltest keine Veränderung feststellen können, denn:
In beiden Fällen wird das Ergebnis der Query in das Array $res übergeben, welches Du ohne weitere Verrenkungen in der while-Schleife abarbeiten kannst.
Viel Spaß noch und beste Grüße
Bitbull
PS: Wenn Dein ursprüngliches Problem zu Deiner Zufriedenheit gelöst wurde, markiere bitte den Thread als "gelöst". Danke.