Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
per simple_select Daten aus db nehmen und sortieren?
#1
Wieder einmal hallo zusammen Cool

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
PHP-Code:
$_GET['sort'

MFG
Zitieren
#2
Schau dir doch einfach mal die Beispiele im MyBB-Code an.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Ich habe tatsächlich in der Linkliste einen entsprechenden Code gefunden, jedoch habe ich dabei irgendeinen Fehler gemacht Blush

Mein jetztiger Code:
PHP-Code:
    $query $db->query("
        SELECT *
        FROM "
.TABLE_PREFIX."link
        ORDER BY cid
    "
); 

Was ist daran falsch? Sad

MFG

Edit: naja, wenn man $query nicht gegen $link austauscht.... Big Grin

Sorry für die Störung. Es funktioniert und ich hätte vorher suchen sollen Smile
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.
Zitieren
#4
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. Wink
Übrigens sollte man wann immer möglich die MyBB internen Objekte nutzen, d.h. $mybb->input ist $_GET, $_POST etc. vorzuziehen!
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Abfrage gibt nur die Daten eines Mitglieds aus melancholia 5 697 02.09.2013, 20:29
Letzter Beitrag: melancholia
  Problem mit Datenbankabfrage (simple_select) webguide 10 1.985 30.05.2011, 11:08
Letzter Beitrag: Zwoetzen
  Variabeln in simple_select homepage-sk 6 1.229 24.10.2010, 18:55
Letzter Beitrag: homepage-sk
  forum - ausseinander nehmen... Marti95. 6 1.888 01.11.2008, 17:03
Letzter Beitrag: Marti95.
  simple_select Mad4Milk 0 810 15.03.2008, 19:49
Letzter Beitrag: Mad4Milk