Also Leute,
irgendwie bin ich blind oder blöde.
Problem, mit Hilfe von Prepared Statement soll eine Tabelle ausgelesen werden. Mit klick auf die Überschrift der Tabellenspalte sollen die Datensätze entsprechend sortiert werden.
Folgender Code funktioniert!!!
Code:
...
// Anzeige von nicht gelöschten Datensätzen
$pattern = 0;
if ($sort1=='id')
$order .= "avatar_categorie_id";
else
$order .= "avatar_categorie_name";
// DATENBANKABFRAGE
// Ermittlung der Avatar_Kategorien
$sqlCat = "SELECT avatar_categorie_id as ID, ";
$sqlCat .= "avatar_categorie_name as Name ";
$sqlCat .= "FROM avatar_categorie ";
$sqlCat .= "WHERE avatar_categorie_geloescht = ? ";
$sqlCat .= "ORDER BY " . $order;
$stmtSelect = $myDatabase->db_prepare($sqlCat);
$stmtSelect->bind_param('i', $pattern);
$stmtSelect->execute();
$stmtSelect->store_result();
// SELECT-Ergebnis mit Variablen verbinden
$stmtSelect->bind_result($rowId, $rowName);
...
Allerdings möchte ich auch die ORDER BY Klausel über Prepared Statement ausführen, wie folgt:
Code:
...
// Anzeige von nicht gelöschten Datensätzen
$pattern = 0;
if ($sort1=='id')
$order .= "avatar_categorie_id";
else
$order .= "avatar_categorie_name";
// DATENBANKABFRAGE
// Ermittlung der Avatar_Kategorien
$sqlCat = "SELECT avatar_categorie_id as ID, ";
$sqlCat .= "avatar_categorie_name as Name ";
$sqlCat .= "FROM avatar_categorie ";
$sqlCat .= "WHERE avatar_categorie_geloescht = ? ";
$sqlCat .= "ORDER BY ?";
$stmtSelect = $myDatabase->db_prepare($sqlCat);
// TEST
$stmtSelect->bind_param('is', $pattern, $order);
$stmtSelect->execute();
$stmtSelect->store_result();
// SELECT-Ergebnis mit Variablen verbinden
$stmtSelect->bind_result($rowId, $rowName);
...
Datensätze werden auf beide Weisen exakt dargestellt. Nur bei dem einen kann ich per Klick sortieren, bei dem anderen passiert gar nix.
Würde mich um Aufklärungsarbeit freuen.
LG
Michael