Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2012, 09:05   #1
hron66
Пользователь
 
Регистрация: 21.09.2012
Сообщений: 20
По умолчанию Фильтр столбцов в таблице php

Добрый день.. Есть таблица обычная, в php рисуется.. Сортировку по столбцам сделать получилось.. Теперь нужно еще фильтр туда добавить, такой же как в Excel. Если кто-нибудь сталкивался с чем-нибудь подобным - прошу совета как это лучше реализовать (через php как-то) или запросами к sql-базе, из которой таблица заполняется.. Может кто-нибудь уже с готовыми библиотеками работал, например на JS написанные, то мне бы название.. Весь интернет перерыл - нигде не видел, чтобы кто-нибудь фильтр в таблице на php реализовал.. Прошу совета и помощи.. Спасибо..
С уважением, hron66.
hron66 вне форума Ответить с цитированием
Старый 10.10.2012, 13:16   #2
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию

ты покажи что сделал, тебе подскажут как лучше доточить... можно и на php, и на js сделать - зависит от поставленной задачи.
Mortimoro вне форума Ответить с цитированием
Старый 11.10.2012, 16:45   #3
hron66
Пользователь
 
Регистрация: 21.09.2012
Сообщений: 20
По умолчанию

Сортировку и фильтр сделал. Нашел библиотеку на JS и прицепил.. Все работает.. Только вот открытым остается один вопрос.. Можно ли по чекбоксу (желательно без перезагрузки страницы) использовать либо один код php либо другой.. Весь смысл в том, что при заходе на страницу должна отображаться таблица просто с сортировкой, но без фильтра.. При нажатии на чекбокс, шапка должна заменяться на шапку с фильтром и наоборот.. Так что сейчас задача стоит по чекбоксу, чтобы выполнялся либо один либо другой код php.

Вот код который в начале моего файла php:
<meta http-equiv="refresh" content="60">
<script type="text/javascript" src="../js/mysort.js"></script>
При нажатии на чекбокс он не должен выполняться.. А нужно:
<link rel='stylesheet' href='../interior/tabsort1.css' type='text/css'>
<script type='text/javascript'>var d0 = new Date()</script>
<script type='text/javascript' src='../js/tabtools1.js'></script>
<script type='text/javascript' src='../js/tabsort1.js'></script>

Дальше непосредственно в php-коде
Вот этот код
print <<<END
</table>
</td></tr></table>

</div>
<table align="center"><tr><td>
<input id="filtrCB" type=checkbox name="choosefiltr" unchecked><- Использовать фильтр</td></tr>
<tr><td>
<table border="0" align="center" cellspacing="0" class="border">
<thead>
<tr class="theader">
<td class="$tclf" width="30">Ванна</td>
<td class="$tclf" width="80">Время работы, час:мин</td>
<td class="$tclf" width="80">Время простоя, час:мин</td>
<td class="$tclf" width="60">Cдвигов/ ремонтов за сутки, шт</td>
<td class="$tclf" width="80">Средняя нагрузка, кА</td>
END;
if ($disp_U1=="") print '<td class="$tclf" width="80">Текущее напряжение, мВ</td>';
if ($disp_U2=="") print '<td class="$tclf" width="80">Среднее напряжение, мВ</td>';
if ($disp_U1=="") print '<td class="$tclf" width="80">Текущая температура, С</td>';
if ($disp_U2=="") print '<td class="$tclf" width="80">Средняя температура, С</td>';
print '<td class="$tclf" width="80">Выработка c 00:00, тн</td>';
if ($disp_str=="") print '<td class="$tclf" width="80">Текущее состояние</td>';
print <<<END
<td class='$tclf' width="80">Тип ванны</td>
</tr>
</thead>
<tbody>
END;

должен заменяться (или как-то сделать, чтобы он не выполнялся) вот на такой код:
print <<<END
</table>
</td></tr></table>

</div>
<table align="center"><tr><td>
<input id="filtrCB" type=checkbox name="choosefiltr" unchecked><- Использовать фильтр</td></tr>
<tr><td>
<table border="0" align="center" cellspacing="0" class="border sortable" id='t'>
<thead>
<tr class="theader">
<th axis='num' width="30"><br>Ванна</th>
<th width="50">Время работы, час:мин</th>
<th width="50">Время простоя, час:мин</th>
<th axis='num' width="60">Cдвигов/ ремонтов за сутки, шт</th>
<th axis='num' width="60">Средняя нагрузка, кА</th>
END;
if ($disp_U1=="") print '<th axis="num" width="60">Текущее напряжение, мВ</th>';
if ($disp_U2=="") print '<th axis="num" width="60">Среднее напряжение, мВ</th>';
if ($disp_U1=="") print '<th axis="num" width="60">Текущая температура, С</th>';
if ($disp_U2=="") print '<th axis="num" width="60">Средняя температура, С</th>';
print '<th axis="num" width="60">Выработка c 00:00,<br>тн</th>';
if ($disp_str=="") print '<th width="60">Текущее состояние</th>';
print <<<END
<th width="60">Тип ванны</th>
</tr>
</thead>
<tbody>
END;

Тут смысл - либо шапка выделена тэгами <td> и </td> либо <th> и </th>. И тогда таблицу обрабатывает либо один скрипт либо другой.. Есть ли какие-нибудь соображения? Буду очень благодарен за любую помощь, идеи.. Просто реально не знаю как заставить работать в разных частях программы либо один код либо другой..
hron66 вне форума Ответить с цитированием
Старый 11.10.2012, 16:50   #4
hron66
Пользователь
 
Регистрация: 21.09.2012
Сообщений: 20
По умолчанию

По отдельности оба эти варианта прекрасно работают.. То есть 1-й вариант чисто с сортировкой делается с помощью одного скрипта, а другой вариант - сортировка + фильтр + навороченная шапка таблица делается с помощью другого скрипта... По отдельности (то есть в разных файлах) это все работает.. Так что если нет возможности сделать так как я написал выше, то тогда придется делать это все в разных файлах и по чекбоксу выводить либо одну страницу, либо другую (кстати как это сделать через JS я тоже не знаю...) Вот такой расклад...
hron66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать фильтр столбцов (не строк)? jar76 Microsoft Office Excel 19 23.09.2014 11:34
Фильтр по пустым ячейкам в сводной таблице AntonK Microsoft Office Excel 4 13.08.2012 09:56
Сортировка столбцов в таблице БД NuR1k БД в Delphi 3 20.08.2010 12:05
Фильтр столбцов в Экселе jar76 Microsoft Office Excel 2 23.04.2009 12:43
Итоги и фильтр данных в сводной таблице ExcArt Microsoft Office Excel 6 22.05.2008 01:56