|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.10.2012, 09:05 | #1 |
Пользователь
Регистрация: 21.09.2012
Сообщений: 20
|
Фильтр столбцов в таблице php
Добрый день.. Есть таблица обычная, в php рисуется.. Сортировку по столбцам сделать получилось.. Теперь нужно еще фильтр туда добавить, такой же как в Excel. Если кто-нибудь сталкивался с чем-нибудь подобным - прошу совета как это лучше реализовать (через php как-то) или запросами к sql-базе, из которой таблица заполняется.. Может кто-нибудь уже с готовыми библиотеками работал, например на JS написанные, то мне бы название.. Весь интернет перерыл - нигде не видел, чтобы кто-нибудь фильтр в таблице на php реализовал.. Прошу совета и помощи.. Спасибо..
С уважением, hron66. |
10.10.2012, 13:16 | #2 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
ты покажи что сделал, тебе подскажут как лучше доточить... можно и на php, и на js сделать - зависит от поставленной задачи.
|
11.10.2012, 16:45 | #3 |
Пользователь
Регистрация: 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>. И тогда таблицу обрабатывает либо один скрипт либо другой.. Есть ли какие-нибудь соображения? Буду очень благодарен за любую помощь, идеи.. Просто реально не знаю как заставить работать в разных частях программы либо один код либо другой.. |
11.10.2012, 16:50 | #4 |
Пользователь
Регистрация: 21.09.2012
Сообщений: 20
|
По отдельности оба эти варианта прекрасно работают.. То есть 1-й вариант чисто с сортировкой делается с помощью одного скрипта, а другой вариант - сортировка + фильтр + навороченная шапка таблица делается с помощью другого скрипта... По отдельности (то есть в разных файлах) это все работает.. Так что если нет возможности сделать так как я написал выше, то тогда придется делать это все в разных файлах и по чекбоксу выводить либо одну страницу, либо другую (кстати как это сделать через JS я тоже не знаю...) Вот такой расклад...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать фильтр столбцов (не строк)? | 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 |