ORDER BY -nur wie???-
Fabi
- php
<?php
/* board.php */
require("inc/mysql.inc.php"); //Aufruf der MySQL-Verbindung
$thread = mysql_query("SELECT * FROM threads WHERE boardid = '$_GET[boardid]'"); //Themen mit der Boardid X auswählen
echo "<table border="0" width="68%" bgcolor="black"><tr border="1" bgcolor="#74798b"><td><font face='verdana' color='white'>Themen</td></tr>"; //Anfang html Tabelle
while ( $row = mysql_fetch_array($thread) ) {
echo "<tr border="1" bgcolor="#eeeeee"><td><a href="./thread.php?threadid=$row[threadid]">$row[topic]</a></td></tr>";
} // Anlegen der Ausgewählten Themen und Anzeigen in einer Html Tabelle
echo "</table>"; //Ende der Html Tabelle
echo "<br><br><div align="center"><a href="newthread.php?boardid=$boardid">Neues Thema erstellen</a><div>";
Wie muss ich hier den Befehl ORDER BY angeben , sodass das neuste Themen oben steht?
Hallo,
$thread = mysql_query("SELECT * FROM threads WHERE boardid = '$_GET[boardid]'");
Dass du gleich etwas was über $_GET kommt in einen MySQL Querry übernimmst, ohne es zu prüfen oder zu entschärfen ist grobe Fahrlässigkeit! Somit gibst du den Leuten im Internet die Gelegenheit sogar deine ganze Datenbank zu löschen.
$thread = mysql_query("SELECT *
FROM threads
WHERE boardid = ".mysql_escape_string($id)."
DESC"
);
So müsste es glaube ich funktionieren.
Grüße
Jeena Paradies
$thread = mysql_query("SELECT *
FROM threads
WHERE boardid = ".mysql_escape_string($id)."
DESC"
);
Klappt leider nicht!
Aber danke für deinen anderen Hinweiß!
Hallo,
$thread = mysql_query("SELECT *
FROM threads
WHERE boardid = ".mysql_escape_string($id)."
DESC"
);
Ich höre es gerade aus dem Chat schreien, »du hast das ORDER BY vergessen!« ;)
also noch einmal:
$thread = mysql_query("SELECT *
FROM threads
WHERE boardid = ".mysql_escape_string($id)."
ORDER BY threadid DESC"
);
Grüße
Jeena Paradies
$thread = mysql_query("SELECT *
FROM threads
WHERE boardid = ".mysql_escape_string($id)."
ORDER BY threadid DESC"
);
Jetzt klappt das ganze Forum nicht mher!
Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\my\board\board.php on line 30
hi,
ORDER BY threadid DESC"
Jetzt klappt das ganze Forum nicht mher!
hast du denn überhaupt eine spalte namens threadid in deiner tabelle?
sonst musst du das beispiel von jeena natürlich auf dein gewünschtes sortierkriterium anpassen. _beispiele_ nur mit copy&paste übernehmen ersetzt selber darüber nachdenken nicht.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\my\board\board.php on line 30
tipp: benutze in solchen fällen auch immer mysql_error(), um eine aussagekräftige fehlermeldung von der DB zu bekommen.
gruß,
wahsaga
hast du denn überhaupt eine spalte namens threadid in deiner tabelle?
Meine DB:
CREATE TABLE boards (
boardid int(120) NOT NULL auto_increment,
boardname varchar(120) NOT NULL default '',
PRIMARY KEY (boardid)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
INSERT INTO boards (boardid, boardname) VALUES (1, 'Test-Forum');
CREATE TABLE posts (
threadid int(120) NOT NULL default '0',
username varchar(120) NOT NULL default '0',
post longtext NOT NULL
) TYPE=MyISAM;
INSERT INTO posts (threadid, username, post) VALUES (1, 'Admin', Test.\r\n\r\Test test test. ;)\r\n\r\n Text text\r\n\r\n\r\nViel Spass.\r\n Admin');
CREATE TABLE threads (
boardid int(120) NOT NULL default '0',
threadid int(120) NOT NULL auto_increment,
topic varchar(120) NOT NULL default '',
PRIMARY KEY (threadid)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
INSERT INTO threads (boardid, threadid, topic) VALUES (1, 1, 'Ein Forum');
hi,
hast du denn überhaupt eine spalte namens threadid in deiner tabelle?
Meine DB:
wenn du diese frage nicht schlicht und kurz beantworten kannst, sondern dich stattdessen veranlasst fühlst, deine kompletten tabellen definitionen hier reinzupasten - dann darf man wohl davon ausgehen, dass du selbst nicht weißt, wie deine datenstruktur aufgebaut ist ...?
wie schon gesagt, finde heraus, nach welchem kriterium eine sortierung so wie von dir gewünscht sinnvoll ist, und setze die entsprechende spalte in die ORDER BY klausel ein.
gruß,
wahsaga