Witam, mam następujący skrypt, który odpowiednio sortuje dane, jednak wydaje mi się zbyt obszerny jak na rolę jaką pełni. Czy idzie to rozwiązać w inny sposób ?
<?php
function sort_users()
{
if($_GET['action'] == 'sort_asc_id')
{
$get_users = "SELECT * FROM users ORDER BY id ASC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_desc_id')
{
$get_users = "SELECT * FROM users ORDER BY id DESC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_asc_nick')
{
$get_users = "SELECT * FROM users ORDER BY nick ASC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_desc_nick')
{
$get_users = "SELECT * FROM users ORDER BY nick DESC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_asc_ip')
{
$get_users = "SELECT * FROM users ORDER BY ip ASC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_desc_ip')
{
$get_users = "SELECT * FROM users ORDER BY ip DESC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_asc_status')
{
$get_users = "SELECT * FROM users ORDER BY status ASC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_desc_status')
{
$get_users = "SELECT * FROM users ORDER BY status DESC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_asc_city')
{
$get_users = "SELECT * FROM users ORDER BY city ASC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_desc_city')
{
$get_users = "SELECT * FROM users ORDER BY city DESC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_asc_date')
{
$get_users = "SELECT * FROM users ORDER BY date ASC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
if($_GET['action'] == 'sort_desc_date')
{
$get_users = "SELECT * FROM users ORDER BY date DESC";
$display_users = array(); $display_users[] = array( 'id' => $row['id'],
'nick' => $row['nick'],
'ip' => $row['ip'],
'date' => $row['date'],
'status' => $row['status'],
'city' => $row['city']);
}
}
return $display_users;
}
?>
Później wywołuje np:
<a id="asc" href="?action=sort_asc_id">ASC
</a> |
<a id="desc" href="?action=sort_desc_id">DESC
</a>
Z góry dziękuję za okazaną pomoc.
Pozdrawiam.