0
私はデータベースから結果をソートするオプションを作ろうとしています。私はこれを行う方法を見つけましたが、それが最良であるかどうかはわかりません。ソートオプションを実行するための良い方法はありますか?
if(!isset($_GET['sort']) || $_GET['sort'] == 0) {
$userquery = $DBH->query("SELECT users.id, users.username, users.name, users.joined, users.usergroup, user_groups.group_title FROM users INNER JOIN user_groups ON users.usergroup = user_groups.id ORDER BY users.id ASC");
$userquery->setFetchMode(PDO::FETCH_OBJ);
} else {
if($_GET['sort'] == 1) {
$userquery = $DBH->query("SELECT users.id, users.username, users.name, users.joined, users.usergroup, user_groups.group_title FROM users INNER JOIN user_groups ON users.usergroup = user_groups.id ORDER BY users.username ASC");
$userquery->setFetchMode(PDO::FETCH_OBJ);
} else if($_GET['sort'] == 2) {
$userquery = $DBH->query("SELECT users.id, users.username, users.name, users.joined, users.usergroup, user_groups.group_title FROM users INNER JOIN user_groups ON users.usergroup = user_groups.id ORDER BY users.name ASC");
$userquery->setFetchMode(PDO::FETCH_OBJ);
} else if($_GET['sort'] == 3) {
$userquery = $DBH->query("SELECT users.id, users.username, users.name, users.joined, users.usergroup, user_groups.group_title FROM users INNER JOIN user_groups ON users.usergroup = user_groups.id ORDER BY user_groups.group_name ASC");
$userquery->setFetchMode(PDO::FETCH_OBJ);
}
}
これを実行する方法はありますか?
良い、テストされ、働いています。ありがとう。 – dovlapsy
答えを編集して、switch/caseステートメントを使ってコード例を追加しました。また、フェッチモードはクエリの前に設定する必要があります。 – Connum
なぜクエリの前に? – dovlapsy