Beiträge: 76
Themen: 21
Registriert seit: 13.02.2009
Wieder einmal hallo zusammen
Und zwar habe ich wieder ein Problem. Wenn man Daten aus MySQL ausliest, kann man dieser per ORDER BY sortieren. Jedoch nehme ich die Daten mit folgendem Code aus der MySQL Tabelle:
PHP-Code:
$link = $db->simple_select('link', '*', "",);
Gibt es eine möglichkeit diese ganz leicht zu sortieren? und zwar nach dem Wert
MFG
Beiträge: 25.761
Themen: 269
Registriert seit: 20.09.2005
Schau dir doch einfach mal die Beispiele im MyBB-Code an.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 76
Themen: 21
Registriert seit: 13.02.2009
05.07.2010, 19:20
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2010, 19:26 von homepage-sk.)
Ich habe tatsächlich in der Linkliste einen entsprechenden Code gefunden, jedoch habe ich dabei irgendeinen Fehler gemacht
Mein jetztiger Code:
PHP-Code:
$query = $db->query("
SELECT *
FROM ".TABLE_PREFIX."link
ORDER BY cid
");
Was ist daran falsch?
MFG
Edit: naja, wenn man $query nicht gegen $link austauscht....
Sorry für die Störung. Es funktioniert und ich hätte vorher suchen sollen
Aber vielen Dank
Edit 2:
Okay, ich habe trotzdem ein Problem und zwar sollte es nicht "nur" nach cid sortieren, sondern nach $_GET['sort'].
Das gibt nur Fehler aus, wenn ich das nach gewohnter Art machee.
Beiträge: 1.443
Themen: 95
Registriert seit: 15.12.2005
MyBB-Version: 1.6.x
06.07.2010, 12:11
(Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2010, 12:56 von querschlaeger.)
PHP-Code:
// ein paar Standardwerte festlegen...
$order_by = 'cid';
$order_dir = 'asc';
// erlaubter_wert_1, erlaubter_wert_2 anpassen und ggf. erweitern!
if($mybb->input['sort'] && ($mybb->input['sort'] == 'cid' || $mybb->input['sort'] == 'erlaubter_wert_1' || $mybb->input['sort'] == 'erlaubter_wert_2'))
{
$order_by = $mybb->input['sort'];
}
if($mybb->input['order'] && ($mybb->input['order'] == 'asc' || $mybb->input['order'] == 'desc'))
{
$order_dir = $mybb->input['order'];
}
$options = array
(
'order_by' => $db->escape_string($order_by),
'order_dir' => $db->escape_string($order_dir)
);
$link = $db->simple_select('link', '*', "", $options);
Aufruf dann mit
sort=cid
sort=cid&order=desc
sort=erlaubter_wert1&sort=asc
sort=erlaubter_wert2&sort=desc
usw.
(auch auch ganz ohne parameter, dann werden beide intern festgelegten Standardwerte genommen)
Das escape_string() ist hier eigentlich nicht nötig, weil die erlaubten Werte schon vorher abgefragt werden. Aber es schadet nicht und Sicherheit geht bekanntlich vor.
Übrigens sollte man wann immer möglich die MyBB internen Objekte nutzen, d.h. $mybb->input ist $_GET, $_POST etc. vorzuziehen!