Создаем отчеты в Excel на PHP

Не редко при разработке некоего проекта, возникает необходимость в формировании отчетной статистики. Если проект разрабатывается на Delphi, C# или к примеру, на С++ и под Windows, то тут проблем нет. Всего лишь необходимо воспользоваться COM объектом. Но дела обстоят иначе, если необходимо сформировать отчет в формате excel на PHP. И чтобы это творение функционировало на UNIX-подобных системах. Но, к счастью, не так все плохо. И библиотек для этого хватает. Я свой выбор остановил на PHPExcel. Я уже пару лет работаю с этой библиотекой, и остаюсь доволен. Поскольку она является кроссплатформенной, то не возникает проблем с переносимостью.

PHPExcel позволяет производить импорт и экспорт данных в excel. Применять различные стили оформления к отчетам. В общем, все на высоте. Даже есть возможность работы с формулами (сам я не пробовал). Только помните, что вся работа (чтение и запись) должна вестись в кодировке utf-8. Читать далее

Постраничная навигация с использованием PHP и MySQL

Применять на сайтах постраничную разбивку стали практически сразу при появлении динамических сайтов. Применение постраничной навигации позволяет сделать контент сайтов не только более приятным для восприятия, но и уменьшает нагрузку на сервер (при огромном объеме записей). Наиболее частое применение постраничной разбивки используется на форумах, информационных порталах и т.д. Для осуществления постраничной разбивки я представляю вам класс pager. Читать далее

Компонент календаря на JavaScript

Чуть более двух лет назад мне понадобилось написать компонент календаря и прикрутить его к своей CMS. От идеи использования динамического календаря на PHP я сразу отказался. Поскольку нужен был календарь для вставки даты в поля формы. Первое, что я сделал, начал искать готовые решения. Естественно было и много и красивых. Но, как известно, есть пословица “Свой хлеб вкуснее”. И тут мне пришла идея о создании своего календаря. И написать его хотелось только с использованием DOM. В итоге получился календарик, не зависящий от браузеров и разный Фреймворков. Вот собственно который, я и выкладываю для использования. Читать далее

Delphi — цветной StringGrid

До чего же оказывается скучен в Delphi компонент StringGrid. В этой статье я расскажу как это хотя бы немного исправить. А именно, как разукрашивать у него ячейки. Но не ячейки которые попадают под конкретное условие, а именно любые. Например: ячейка которая содержит нуль должна быть синей. Для этого мы могли бы воспользоваться кодом: Читать далее

Ловушки в Microsoft Windows

Когда то давно возникла у меня необходимость написать программку для создания скриншотов. А именно пользователь выделяет мышью необходимую ему область на экране, затем отпускает кнопку и получает скриншот. В то время я про ловушки еще не знал. Несколько дней я “бился” над поставленной задачей, но мои эксперименты так и ни к чему, ни привели. Почитав различную литературу и статьи, и узнав, что такое ловушки, и с чем их “едят”, я принялся экспериментировать дальше. А начал я с книги Михаила Фленова «Программирование в Delphi глазами хакера». На то время, все то, что я почерпал из его книги, мне показалось довольно легко, но только потом я понял (когда в этом деле поднабрался опыта), что сильно ошибся. Читать далее

Скрипт для скачивания файла

Меня уже давно интересовал вопрос, как например, при клике по ссылке вида: http://servicefile/files/d58y1e предлагается скачать файл к примеру с названием test.zip. По такому принципу работают файлообменники. Оказалось все достаточно просто.  Сейчас я сделаю небольшое отступление.

Во времена статических web сайтов, у вебмастеров были весьма сильно связаны руки, не было возможности для реализации многих идей. Да и сайты кроме набора текста и пару картинок с баннерами, больше ничего из себя не представляли. Но времена изменились. И сейчас встретить в сети статический сайт становиться постепенно так же сложно, как раньше можно было бы встретить в сети сайт динамический. Читать далее

О любителях чужого сыра

Свою первую статью я написал лет уже наверное пять назад. У меня нет так много времени, чтобы сидеть и писать часто статьи. Поэтому у меня данное явление происходит крайне редко. Как то совсем недавно, а если быть точнее, то чуть более недели назад появилось у меня желание во второй раз попробовать опубликовать свое творчество на habrahabr.ru. Статья у меня собственно уже была опубликована на моем сайте, поэтому оставалось ее только оформить в соответствиями с правилами habrahabr.ru и ждать модерации. Что я собственно и сделал. Через пару дней (спасибо модераторам) статья была опубликована в песочнице. Пару раз я заходил, смотрел на каком она месте по рейтингу находиться и т.д. Читать далее

Delphi – кнопка на основе TPanel

Для чего мы используем компонент TPanel, неужели для компоновки элементов интерфейса, или может кто использует для надписей. Конечно это прямое назначение компонента TPanel, по крайней мере про компоновку элементов.

Ну, а что если TPanel, можно использовать как-то по другому? Читать далее

Проходим авторизацию в вконтакте

Вот и пришло время, когда мне понадобилось авторизоваться в этой социальной сети. На мое удивление, статей в Интернете было не мало. Даже множество из них были на PHP. Отлично! как раз то, что мне нужно. Но внимательно их прочитав, я понял, что те методы авторизации, которые там описывались либо устарели или не работают совсем правильно. Правда попадались и рабочие примеры (если судить по отзывам). Но все таки захотелось мне написать все с чистого листа, да и к тому же я в свое время написал класс, в который объединил самые часто используемые функции, наверное, самой лучшей библиотеки что я встречал для работы с различными сетевыми протоколами – cURL. На вооружение был принят firebug. Как же без него в таких ситуациях.Ну что понеслась! Вот собственно код с подробными комментариями. Читать далее

Перемещаем изображение по странице

Многие знают из программистов, а уж тем более из сайтостроителей, то для чего применяется CSS. Естественно основная его задача это отделение контента от дизайна. Но не будем углубляться в теорию, а посмотрим на это с другой стороны. А именно с той, как можно использовать CSS в паре с JavaScript. Мы по ходу данной статьи разберем пример того, как можно перемещать изображение прямо на странице. Но не все так просто, если брать во внимание кроссбраузерность (по крайней мере, с Internet Explorer и Opera). Вот Internet Explorer нам как раз и устроит сюрприз, но мы сделаем «финт ушами» и избавимся от него. Позже я расскажу, как в нашем случае обмануть Internet Explorer. Читать далее