Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu precisa fazer uma tabela que muda o ORDER BY de acordo que o usuário aperta no titulo. Esse é o meu código SQL:
$sql = " SELECT DATE_FORMAT(data_inclusao, '%d/%m/%Y %T') AS data_inclusao, o.descricao, o.id_ocorrencias, o.id_usuario";
$sql.= ", u.id, u.usuario, u.email ";
$sql.= " FROM tbl_ocorrencias AS o JOIN tbl_usuarios AS u ON (o.id_usuario = u.id) ";
$sql.= " WHERE id_usuario = $id_usuario ";
$sql.= " ORDER BY o.descricao ASC";
E quando clicar nesse título 'Descrição' ele muda o ORDER BY:
<div class="col-md-10">
<strong>
<h4>
<b>
<div class="order_none margin-cabecalho">Descrição</div>
<div class="order_a-z hidden margin-cabecalho">Descrição <small class="glyphicon glyphicon-sort-by-alphabet"></small></div>
<div class="order_z-a hidden margin-cabecalho">Descrição <small class="glyphicon glyphicon-sort-by-alphabet-alt"></small></div>
</b>
</h4>
</strong>
</div>
Esse é o código que muda o glyphicon:
$('.order_none').click(function () {
$('.order_none').removeClass('order_none').addClass('order_none hidden');
$('.order_a-z').removeClass('order_a-z hidden').addClass('order_a-z');
$('.order_z-a').removeClass('order_z-a hidden').addClass('order_z-a hidden');
});
$('.order_a-z').click(function () {
$('.order_a-z').removeClass('order_a-z').addClass('order_a-z hidden');
$('.order_z-a').removeClass('order_z-a hidden').addClass('order_z-a');
$('.order_none').removeClass('order_none hidden').addClass('order_none hidden');
});
$('.order_z-a').click(function () {
$('.order_z-a').removeClass('order_z-a').addClass('order_z-a hidden');
$('.order_none').removeClass('order_none hidden').addClass('order_none');
$('.order_a-z').removeClass('order_a-z hidden').addClass('order_a-z hidden');
});...
Olá!
segue sugestão:
Esse html e esse javascript são client side (funcionam no browser).
Já o trecho em php é server side(funciona no servidor).
Para alterar aquela query montada em php, você vai precisar enviar outra requisição(outra url) ao servidor.
Se estiver usando url amigáveis, passe um parâmetro para definir a ordem +- assim:
http://localhost/seu-sistema/seu-controller/sua-view/parâmetro-1
onde parâmetro-1 é o parâmetro ordenador, que pode ser apenas asc ou desc
E quando for montar a sua query de busca use o parâmetro passado +- assim:
// trate as questões de segurança do valor que vem da url: