Фильтрация таблицы по кнопкам php

Руслан Абсалямов

Не могу понять как мне реализовать так чтобы было при нажатие на определенную кнопку фильтровала данные в талице из имеющей базы mySQL? Также мне необходимо выводить актуальные данные с датами. Допустим месяц текущий и год или текущую неделю. Пример будет таким выводить данные.
Если пользователь нажаль на неделю то выйдет текущая неделя 12.12. - 18.12, если выбрать предыдущую неделю, то с выводились записи 5.12 - 11.12 и так далее. Скорее всего идею раскрыл. И так же с месяцем выходит сначало текущий месяц Декабрь 2016, если нажать на предыдущие то Ноябрь 2016 и т.д. Когда настанет Январь 2017 год, то должен появится вначале при заходе Январь 2017 год.
Вот примерно набрасал код:

<?php $transactions= getTarget();
$transactions = filter();
?>
<div id="controls">
<form id="form1" method="POST" action="function.php">
<!--Фильтр-->
<div id="filter">
<div>
<input type="submit" name="week" value="Неделя">
<input type="submit" name="month" value="Месяц">
<input type="submit" name="year" value="Год">
</div>
<div>< <?php echo date('F Y'); ?> ></div>
</div>
<table cellpadding="2" cellspacing="0" border="0" id="table_id" class="display">
<thead>
<tr>
<th><input type="checkbox" name="cb_all"></th>
<th>Дата</th>
<th>Тип</th>
<th>Счет</th>
<th>Категория</th>
<th>Подкатегория</th>
<th>Организация</th>
<th>Сумма</th>
<th>Комментарий</th>
</tr>
</thead>
<tbody>
<?php foreach ($transactions as $transact): ?>
<tr>
<td><input type="checkbox" name="cb" class ="qwe"></td>
<td><?=date('d.m', strtotime($transact['data']))?></td>
<td><?=$transact['typ']?></td>
<td><?=$transact['score']?></td>
<td><?=$transact['category']?></td>
<td><?=$transact['subcategory']?></td>
<td><?=$transact['organization']?></td>
<td><?=$transact['Sum']?></td>
<td><?=$transact['comment']?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</form>
<script>
allCheckbox()
sorter()
</script>
</div>
</div>

И php файл где идет обработка:

function filter()
{
session_start();
$idUser=$_SESSION['id'];
require "../verification/connect.php";
$msgFilter = "";
if (isset($_POST['week']))
{
$week=date('d L');
$msgFilter = "$week";
$sqlWeek="SELECT transactions.typ, transactions.data, transactions.Sum,transactions.comment, score.score, Categoria.category, subcategory.subcategory, organization.organization FROM transactions
LEFT JOIN score ON score.idScore = transactions.idScore
LEFT JOIN Categoria ON Categoria.idCateg = transactions.idCateg
LEFT JOIN subcategory ON subcategory.idSubCat = transactions.idSubCat
LEFT JOIN organization ON organization.idOrg = transactions.idOrg
WHERE
transactions.idUser='$idUser' AND transactions.data='$week'";
$queryWeek=mysql_query($sqlWeek) or die(mysql_errno());
$transactions = array();
while ($rowTrans=mysql_fetch_array($queryWeek)) {
$transactions[]=$rowTrans;
} return $transactions;
}
if (isset($_POST['month']))
{
$month=date('F Y');
$msgFilter = "$month";
}
if (isset($_POST['year']))
{
$year=date('Y');
$msgFilter = "year";
}
}

Или это надо делать непосредственно там где выводится сама таблица?
Только пока я не пойму как код правильно написать

2 чел.