Я нашел простое решение, позволяющее сортировать по каждому столбцу в моей html-таблице.
Теперь я также хочу сделать возможным сортировку по каждому столбцу, кроме desc, но с моей идеей решения код выглядит сложным из-за двух ifs внутри if.
Я не могу придумать другое решение, которое могло бы выглядеть лучше и в целом было бы проще.
Это мой код прямо сейчас:
<th><a href="mypage.php?sort=type">Type:</a></th>
<th><a href="mypage.php?sort=desc">Description:</a></th>
<th><a href="mypage.php?sort=recorded">Recorded Date:</a></th>
<th><a href="mypage.php?sort=added">Added Date:</a></th>
<?php
$sql = "SELECT * FROM MyTable";
if ($_GET['sort'] == 'type')
{
$sql .= " ORDER BY type";
}
elseif ($_GET['sort'] == 'desc')
{
$sql .= " ORDER BY Description";
}
elseif ($_GET['sort'] == 'recorded')
{
$sql .= " ORDER BY DateRecorded";
}
elseif($_GET['sort'] == 'added')
{
$sql .= " ORDER BY DateAdded";
}
$>
И моей первой идеей было что-то вроде:
$sql = "SELECT * FROM MyTable";
$checkSort = false;
if ($_GET['sort'] == 'type')
{
if ($checkSort == false)
{
$sql .= " ORDER BY type";
$checkSort = true;
}
if ($checkSort == true)
{
$sql .= " ORDER BY type desc";
$checkSort = false;
}
}
Я думаю, что это не выглядит чисто, потому что мне нужно было бы сделать это для каждого столбца, и моя таблица должна стать больше столбцов в будущем.