[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Фильтрации таблицы с помощью php запросов
Страницы: 1, 2
rusline
Проблема в том, что я не нашел ответа как решить вопрос фильтрации. Есть 3 селектора, которые определяет за какой промежуток времени необходимо показать записи. Ничего толком не нашел как решить данную проблему, подскажите как необходимо?
<div id="controls">
<
form id="form1" method="POST" action="function.php">
<!--
Фильтр-->
<
div id="filter">
<
div>
<
select name="date" id="select">
<
option value="0" selected="selected">Период</option>
<
option value="week" id="week">Неделя</option>
<
option value="month" id="month">Месяц</option>
<
option value="year">Год</option>
</
select>
<
output><script>dateInput()</script></output>
</
div>
<
div><input type="submit" name="filter" value="Фильтровать"></div>
<
div>< <?php echo date('m.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>

В javascript я покажу только что при выводе селектора сразу появляется input соответствующий

function dateInput(){
var d = document,
output = d.querySelector('output'),
type = {
week: 'week',
month: 'month',
year: 'year',
};
select.addEventListener('change', function() {
output.innerHTML = type.hasOwnProperty(this.value) ? '<input type="' + this.value + '" name="'+this.value+'" > ' : '';
}, false);
}

И конечно сам обработчик в php, где из базы выводится данные
//Фильтры
function filter()
{
session_start();
$idUser=$_SESSION['id'];
require "../verification/connect.php";
$msgFilter = "";
if (isset($_POST['week']))
{
$week=date('d L');
}
if (isset($_POST['month']))
{
$startMonth=date('Y-m-01');
$endMonth=date('Y-m-31');
$msgFilter = "m.Y";
}
if (isset($_POST['year']))
{
$startYear=date('Y-01-01');
$endYear=date('Y-12-31');
$msgFilter = "Y";
}
}

//Отображение транзакции
function getTarget()
{
session_start();
$idUser=$_SESSION['id'];
$startCurrentMonth=date('Y-m-01');
$endCurrntMonth=date('Y-m-31');
$sqlTrans="
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 data BETWEEN '$startCurrentMonth' AND '$endCurrntMonth'
ORDER BY data DESC"
;
$queryTrans=mysql_query($sqlTrans) or die(mysql_error());
$transactions=array();
while($rowTrans = mysql_fetch_array($queryTrans))
{
$transactions[]=$rowTrans;
}
return $transactions;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.