Я целый день обдумывал и искал эту проблему.У меня есть запрос:
<tr>
<th>
<a href="?orderBy=name">Asset name</a>
</th>
<th>
<a href="?orderBy=classification">Classification</a>
</th>
<th>
<a href="?orderBy=tag">Tag</a>
</th>
<th>
<a href="?orderBy=department">Department</a>
</th>
<th>
<a href="?orderBy=nextreview">Next review date</a>
</th>
<th>
<a href="?orderBy=responsible">Responsible</a>
</th>
<th>Update</th>
</tr>';
$sql = "SELECT *
FROM `assets`
ORDER BY id";
if (isset($_GET['orderBy'])) {
$orderby = $_GET['orderBy'];
if ($orderby == 'name')
{
$sql = "SELECT * FROM `assets`ORDER BY Asset_name";
}
elseif ($orderby == 'classification')
{
$sql = "SELECT * FROM `assets`ORDER BY Classification";
}
elseif ($orderby == 'tag')
{
$sql = "SELECT * FROM `assets`ORDER BY Tag";
}
elseif($orderby == 'department')
{
$sql = "SELECT * FROM `assets`ORDER BY Department";
}
elseif($orderby == 'Next review date')
{
$sql = "SELECT * FROM `assets` ORDER BY Review_date asc";
}
elseif($orderby == 'responsible')
{
$sql = "SELECT * FROM `assets`ORDER BY Responsible";
}
}
У меня есть таблица PHP, которая отображает результат, запрос выше работает в phpmyadmin, я пробовал несколько раз.Однако в PHP он не работает: он сортирует результат, по-видимому, случайным образом, если я нажимаю на заголовок.Формат даты YYYY-MM-DD
и в phpmyadmin это дата.Я попытался создать пользовательские поля или просто изменить код SQL на DATE (Review_date), но все это работает в phpmyadmin, но не в коде PHP.
Можете ли вы помочь мне?Спасибо!
if (!($result=mysqli_query($conn, $sql)))
{ die("Could not show the required data" . mysqli_error($conn));}
elseif (mysqli_num_rows($result) > 0) {
while($result2=mysqli_fetch_array($result))
{echo '<tr>
<td>'.$result2["Asset_name"].'</td>
<td>'.$result2["Classification"].'</td>
<td>'.$result2["Tag"].'</td>
<td>'.$result2["Department"].'</td>
<td>'.$result2["Review_date"].'</td>
<td>'.$result2["Responsible"].'</td>
</tr>';
}