Вообщем через PDO кидаю такой запрос:
$stmt = $pdo->prepare("SELECT * FROM `tasks` ORDER BY :order_db LIMIT :start_pos, :perpage");
$stmt->bindValue(':order_db', $order_db, PDO::PARAM_STR);
$stmt->bindValue(':start_pos', $start_pos, PDO::PARAM_INT);
$stmt->bindValue(':perpage', $perpage, PDO::PARAM_INT);
$stmt->execute();
$all_tasks = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$all_tasks[] = $row;
}
return $all_tasks;
Он работает с этим всё норм, но почему-то когда в $order_db передаешь другие данные по умолчанию туда ставится login ASC, даже если туда уйдет login DESC или email DESC то при выводе все равно сортировка получается по логину. Хелп.
Разобрался посмотрел и решил сделать так как на мой взгляд лучше не делать, но зато работает ))
if ($order_col == 'logina' || $order_col == 'emaila' || $order_col == 'statusa') {
$stmt = $pdo->prepare("SELECT * FROM `tasks` ORDER BY " . $order_db . " ASC LIMIT :start_pos, :perpage");
} else {
$stmt = $pdo->prepare("SELECT * FROM `tasks` ORDER BY " . $order_db . " DESC LIMIT :start_pos, :perpage");
}
$stmt->bindValue(':start_pos', $start_pos, PDO::PARAM_INT);
$stmt->bindValue(':perpage', $perpage, PDO::PARAM_INT);
$stmt->execute();
$all_tasks = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$all_tasks[] = $row;
}
return $all_tasks;
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости