Как использовать плагин постраничного вывода в Tablesorter

В последнем проекте над которым я работал, была необходимость постранично выводить таблицы данных, с возможностью сортировать. Конечно, постраничный вывод и сортировку можно было бы реализовать средствами PhP и MySQL, но я решил обратить свой взгляд на JQuery плагин Tablesorter. Я не буду заострять внимание на установке плагина и примерах его  использования, там все достаточно просто и тривиально. Подробное описание на русском вы сможете найти на сайте tablesorter.ru

Единственное, что не до конца описано, это как же использовать постраничный плагин. И так, подробная инструкция. Скачиваем последнюю версию jQuery отсюда, сохраним его как jquery.js. А так же скачиваем jquery.tablesorter.min.js и jquery.tablesorter.pager.js Со скриптами разобрались, нам понадобиться еще css

Так, копируем js скрипты в папочку js, а css в папочку css и подключаем их и добавляем скрипт для постраничного вывода :

<head>
<link rel="stylesheet" href="/css/table.css" type="text/css" />
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="/js/jquery.tablesorter.pager.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#mytable")
.tablesorter({widthFixed: true})
.tablesorterPager({container: $("#pager")});
});
</script> </head>

Где mytable это id таблицы которую мы хотим использовать для постраничного вывода, a pager — это id тега <div> в котором у нас будет управление. Далее у нас идет таблица:

<table id="mytable" cellspacing="1" class="tablesorter">
<thead>
<tr>
<th>Ф.И.О.</th>
<th>В работе</th>
<th>Ответственный</th>
<th>Адрес</th>
<th>Создана</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Ф.И.О.</th>
<th>В работе</th>
<th>Ответственный</th>
<th>Адрес</th>
<th>Создана</th>
</tr>
</tfoot>
<tbody>
<tr>
<td class="gray">Иванов Петр Ивановичь</td>
<td class="gray">4д 20ч</td>
<td class="gray">Петров Иван Петровичь</td>
<td class="gray">вул. Машин, 5а</td>
<td class="gray">2011-03-31</td>
</tr>
</tbody>
</table>

Скачиваем картинки меню управления страницами картинки и записываем их в папку /images/table. А теперь добавляем меню управления, выглядеть она будет так:

<form>
<div id="pager" class="pager">
<img src="/images/table/first.png" class="first"/>
<img src="/images/table/prev.png" class="prev"/>
<input type="text" class="pagedisplay"/>
<img src="/images/table/next.png" class="next"/>
<img src="/images/table/last.png" class="last"/>
<input type="hidden" class="pagesize" value="25" />
</div></form>

Вот и все


Количество просмотров :5471

CodeIgniter Мои впечатления

Моему увлечению PHP не так уж много, всего около полу года, при этом, я стал замечать, что обрастаю небольшими файликами с постоянно необходимыми функциями — удалить, записать в MySQL, или функциями для форм, и так далее. И я начал задумываться о фреймворке. Выбор сначала пал на PHPCake, потратив какое-то время, и насладившись всеми прелестями документации класса — «Пойди туда не зная куда, и может быть, ты найдешь то, что тебе нужно» я решил обратить свое внимание на CodeIgniter(CI).

Установка оказалась очень простой — качаем и разархивируем пакет. Загружаем папку CI на сервер. открываем файл application/config/config.php и устанавливаем базовый URL. В application/config/database.php настраиваем подключение к базе. И конечно же, не забываем про минимальные требования, это PHP версии 5.1.6.

Для начинающих, я бы рекомендовал ознакомиться с видео уроками по настройке и установке CI — ссылка

Что я могу сказать, по прошествии недели я был готов приступить к работе, достаточно подробно изучив мануал, который, замечу, написан грамотно, четко и структурировано. А главное, простота использования, все что нужно — это создать контроллер, загрузить библиотеки, обработать и получить данные из Модели затем отправить результаты в Вид. К тому же CI отличается завидной скоростью работы, практически не влияя на общую производительность.

В общем сейчас заканчиваю свой первый проект и впечатления от CI только положительные, простота и удобство, к тому же, вы можете найти множество дополнительных модулей.

Скачать CI вы можете здесь — http://codeigniter.com/


Количество просмотров :4844

Подключаем EPEL репозитарий к RHEL/CentOS

Проект EPEL (Extra Packages for Enterprise Linux), занимается поддержкой репозитория дополнительных пакетов для RHEL и CentOS. В репозитарии находится множество высококачественных дополнительных пакетов. Приступим к установке. Устанавливаем репозитарий для RHEL/CentOS 5.x

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

для 4.х ветки

rpm -Uvh http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-4-9.noarch.rpm

и проверяем, если EPEL  в списке репозитариев:

yum repolist

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: ftp.tlk-l.net
* atomic: www5.atomicorp.com
* base: ftp.tlk-l.net
* centosplus: ftp.tlk-l.net
* contrib: ftp.tlk-l.net
* epel: ftp.tlk-l.net
* extras: ftp.tlk-l.net
* rpmforge: ftp-stud.fht-esslingen.de
* updates: ftp.tlk-l.net
 


Количество просмотров :6748

Ошибка «Удаленный сеанс отключен из-за отсутствия доступных лицензий клиента сервера терминалов для этого компьютера»

Очень часто встречается данная ошибка, решение очень простое — заходим в реестр клиентского компьютера и удаляем (предварительно желательно все же сохранить)

HKEY_LOCAL_MACHINE -> Software -> Microsoft -> MSLicensing

Все, после данной операции должно работать как часы


Количество просмотров :3535

MySQL cброс авто инкремента

Функция авто-инкремент очень удобна, с ее помощью удобно выдавать уникальные id номера нашим записям, но бывает так, что возникает необходимость сбросить счетчик, для этого можно воспользоваться следующей функцией:

ALTER TABLE tablename AUTO_INCREMENT = 1

Если же, предположим, вы удалили какую то старую запись и хотите новой присвоить номер удаленной, то можно воспользоваться командой

SET insert_id = необходимый номер;

Количество просмотров :4881

MySQL Игнорируем дубликаты

Все что нужно, это использовать команду DISTINCT. Как пример, пускай у нас есть такая таблица с марками автомобилей:

SELECT name FROM table
 
name      
----       
Ford     
Mazda      
Fiat  
Ford         
Nissan
Honda     
Honda      
Ford  
Audi         
Saab        

в которой как вы видите есть несколько одинаковых названий. Для того, что бы их убрать, используем DISTINCT:

SELECT DISTINCT name FROM table
 
name      
----       
Ford     
Mazda      
Fiat         
Nissan
Honda      
Audi         
Saab        

Количество просмотров :2841

Ограничение доступа по SHH средствами sshd

Есть много способов как можно закрыть удаленный доступ к системе, это и PAM и IPtables. Но тем ни менее наиболее простым способом ограничить доступ будет через настройки. Для этого отредактируйте файл /etc/ssh/sshd_config. Список пользователей который разрешен доступ —

AllowUsers

Список пользователей для которых закрыт доступ

DenyUsers

Вы так же можете ограничить адреса на которых демон SSHD будет «слушать» —

ListenAddress

для каждого адреса используйте отдельную запись.

Вы так же можете ограничить количество попыток залогиниться за подключение

MaxAuthTries

Количество просмотров :2956

Php Устанавливаем потдержку Firebird

Сижу значиться я, никого не трогаю, что-то програмлю и тут звонок, «Нужно срочно установить модуль interbase.so» на одном из сервер под управлением CentOS 5.5. Ну дело не хитрое, google быстро дает короткий FAQ и по нему начинаю устанавливать. Устанавливаю php-devel, без него phpize нету:

yum install php-devel

Узнаем текущую версию php, для этого в командной строке:

php -v

В моем случаи оказалась 5.2.17. При помощи того же Google находим исходник PhP(Я скачивал ТУТ), скачиваем и разархивируем. Переходим в папку ext/interbase, и запускаей - 

phpize

затем

./configure —with-interbase=shared,/opt/firebird

и тут произошла вот такая ошибка:

configure: error: libgds, libib_util or libfbclient not found!

поиски в Google не дали конкретного решения но натолкнули на мысль, что не хватает библиотек Firebird. Ну, что же, давайте их установим:

yum install firebird firebird-devel

после этого копируем /usr/lib/firebird в /opt/firebird и снова запускаем

./configure —with-interbase=shared,/opt/firebird

в моем случаи команда прошла, после чего я скомпилировал модуль:

make

Затем копируем файл interbase.so из папки .libs(эта папка находиться в ext/interbase) в папку /usr/lib/php/modules/ и добавил в /etc/php.d файл interbase.ini с таким содержимым:

extension=interbase.so
 

Количество просмотров :5980

Настраиваем VNC Сервер

VNC Сервер — программа, предоставляющая доступ к экрану компьютера, на котором она запущена. начнем с установки:

yum install vnc-server

Создаем пароль для доступа к сессии:

vncpasswd

И переходим к настройке, открываем /etc/sysconfig/vncservers

VNCSERVERS=»1:test»
VNCSERVERARGS[1]=»-geometry 1024×768″

После этого запускаем службу:

service vncserver start

Вот собственно и все, все что осталось это установить VNC клиент и подсоединиться к нашему серверу.


Количество просмотров :3682

Windows 7 после установки Service Pack 1

Первый сервис пак выдался на славу. На фирме где я работая администраторы были просто счастливы, когда однажды утром более чем на 300 машинах установился SP1 и примерно на 30+ из них возникла проблема «дообновления» и BSOD-ом с бесконечной перезагрузкой. К счастью решение проблемы было найдено на habra

Перезагрузите компьютер.
Перед появлением логотипа Windows 7 на чёрном экране нажмите F8, появится список вариантов загрузки. Если логотип Windows 7 успел появиться, значит F8 нужно было нажать чуть раньше. Перезагрузите компьютер и попробуйте ещё раз.
В списке вариантов загрузки выберите «Устранение неполадок компьютера» и нажмите Enter.
Если система предложит выбрать раскладку, выбирайте США.
Если система запросит логин и пароль, введите логин и пароль от учётной записи с правами администратора. Если вы не знаете этого, спросите у того, кто устанавливал вам Windows 7.
В появившемся окне выберите последний пункт «Командная строка».
Откроется консоль. Внимательно введите одну за другой нижеследующие строчки, нажимая после каждой Enter. Обратите внимание — С: это буква вашего системного диска. Если система находится на другом диске, используйте соответствующую букву.

C:
cd windows
ren SoftwareDistribution SoftwareDistribution.old
cd winsxs
ren pending.xml pending.xml.old
ren reboot.xml reboot.xml.old
cd ..\system32
ren catroot2 catroot2.old
cd config
dir Regback

Последняя команда выведет вам содержимое папки Regback. Убедитесь, что в списке присутствуют файлы «system» и «software».
Введите следующие строчки, нажимая после каждой Enter.

ren system system.old
ren software software.old
copy Regback\system system
copy Regback\software software
exit

Нажмите кнопку «Перезагрузка».
Когда система загрузится, зайдите в Пуск — Панель управления — Центр обновления Windows.
Если система предложит вам проверить обновления — сделайте это.
Когда появится список доступных обновлений и кнопка «Установить обновления», не спешите нажимать её. Слева от кнопки будут две ссылки на список важных и необязательных обновлений. Нажмите любую из ссылок.
Откроется окно, в левой части которого будут две вкладки. Зайдите по очереди в каждую из вкладок, чтобы увидеть списки предлагаемых обновлений.
Если в этих списках вы найдёте обновления, на которых не стоят галочки — щёлкните по каждому из таких обновлений правой кнопкой и выберите пункт «Скрыть обновления».
Нажмите кнопку ОК. Нажмите кнопку «Установить обновления».
Когда обновление завершится, перезагрузите компьютер, даже если система этого не попросит.
Убедитесь, что компьютер загрузился нормально.
 


Количество просмотров :3518