Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como classificar linhas da tabela HTML que são chamadas do MySQL


A maneira mais fácil de fazer isso seria colocar um link nos cabeçalhos das colunas, apontando para a mesma página. Na string de consulta, coloque uma variável para que você saiba no que eles clicaram e, em seguida, use ORDER BY em sua consulta SQL para realizar a ordenação.

O HTML ficaria assim:
<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>

E no código php, faça algo assim:
<?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";
}

$>

Observe que você não deve pegar o valor $_GET diretamente e anexá-lo à sua consulta. Como algum usuário conseguiu acessar MyPage.php?sort=; EXCLUIR DE MinhaTabela;