
- •В.С. Романчик
- •Глава 2. Использование php.
- •Глава 3.
- •Введение
- •Возможности php.
- •Инструменты для разработки
- •Как php работает
- •Глава 1. Язык php Типы данных
- •Массивы и инициализация массивов
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и директива error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и от сервера клиенту
- •Клиентские методы http get, post, head
- •Обработка html-форм и передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Ниже рассмотрен еще один пример передачи данных из клиентской формы на сервер по методу get
- •Передача данных на сервер по методу post
- •Php и обработка различных форм
- •Примеры обработки форм
- •Работа с e-mail
- •Отправка почты на php (Функция mail)
- •Cookies-наборы: сохраненное состояние
- •Сессии (Сеансы) Переменные сеанса
- •Отмена регистрации сеансовых переменных
- •Работа с сеансовыми переменными
- •Постоянные данные, использующие сеансы и cookie-наборы
- •Вывод графических данных с помощью рнр Основной способ создания изображений
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Работа с палитрой изображения
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование специальных стилей для заливки
- •Использование шрифтов и вывод строк
- •Манипулирование и копирование изображений
- •Создаём графический информер на php
- •Слияние изображений с помощью gd
- •Включения удаленных файлов
- •Различные приложения и полезные скрипты на php
- •Пример. Определение типа и версии браузера
- •Генератор паролей на php
- •Время выполнения скрипта
- •Календарь
- •Загрузка файла от клиента на сервер
- •Работа с ftp на уровне php
- •Сбор статистики на php
- •Проверка ввода емайл
- •Чтение почты через Web-интерфейс
- •Разработка собственных листов рассылки
- •Рассылаем письма
- •Добавляем адреса в список рассылки
- •Редактирование адресов
- •Автоответчик
- •Почтовые функции в рнр
- •Задания для выполнения
- •Приложение 1. Протокол передачи гипертекстов http
- •Клиентские методы и заголовкиHttp
- •Указатель ссылки ("Referer")
- •Медиа-типы
- •Кодирование
- •Безопасность и авторизация
- •Кэширование содержимого http на стороне клиента
- •Http идентификация с php
- •Сжатие данных в протоколе http
- •Модель ajax: между загруженной в браузер страницей и сервером появляется прослойка - уровень ajax, который обеспечивает следующую последовательность выполнения приложения.
- •Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Проблема с кешированием
- •Информируйте пользователя
- •Нет принципов написания кода
- •Аутентификация средствами php
- •Отделение клиентская части программы от серверной части и шаблоны
- •Использование шаблонов в php
- •Шаблоны подстановки
- •Создаем свои шаблоны в php
- •Теги, атрибуты, значения
- •Структура документа
- •Разрыв строки
- •Предварительное форматирование
- •Комментарии
- •Физическая и логическая разметка документа
- •«Физические» теги:
- •«Логические» теги:
- •Специальные символы
- •Графика
- •Формы html
- •Метатеги
- •Способы включения каскадных таблиц стилей
- •Синтаксис
- •Группирование
- •Наследование
- •Множественные классы.
- •Селекторы идентификаторов (id-селекторы).
- •Комментарии
- •Свойства шрифтов.
- •Свойства текста.
- •Представление документа в виде специальных областей – блоков
- •Отступы, поля, позиционирование.
- •Границы элементов.
- •Визуальные эффекты
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Различные свойства
- •Css. Примеры
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Приложение 11. Популярные веб-приложения и фреймворки
- •Фреймворки
MySql – сервер: бд1; бд2; бд3; бд4;
Под БД понимается совокупность взаимосвязанных таблиц, объединенных общим управлением. Перед началом работы с MySql надо: спроектировать БД; спроектировать структуру таблиц БД; создать таблицы БД; создать БД.
MySQL поддерживает несколько видов таблиц: ISAM, MyISAM(более современная), а также MERGE, HEAP, BDB, InnoDB. Каждая таблица состоит из записей. Каждое поле записи имеет определенный тип и значение. Приведем некоторые типы полей записей, которые используются в MySql:
Целые числа: INT(-2147483648..2147483647), TINYINT(-128..127), SMALLINT, MEDIUMINT, BIGINT;
Вещественные числа: DOUBLE, REAL(синоним DOUBLE), FLOAT, DECIMAL (числовая строка), NUMERIC;
Строки: VARCHAR (1..255), TINYTEXT (1..255), TEXT(1..65535); MEDIUMTEXT,
LONGTEXT;
Блочно-бинарные данные: BLOB(до 65535 символов), TINYBLOB(до 255 символов), MEDIUMBLOB, LONGBLOB: при поиске, в отличие от TEXT, учитывается нижний и верхний регистр символов;
Дата и время: DATE(гггг-мм-дд), TIME(чч:мм:сс), DATETIME(гггг-мм-дд чч:мм:сс ), TIMESTAMP.
К полям могут присоединяться модификаторы primary key, auto_increment, Default.
Создание БД и таблиц может быть выполнено вручную, например c помощью приложения phpmyadmin, входящего в состав MySql. Набирается localhost/tools/phpmyadmin и выполняются действия по созданию БД и таблиц.
Другой способ создание БД и таблиц состоит в использовании команд языка SQL, являющегося частью MySql.
Язык запросов sql
Язык запросов SQL – основной язык для работы с реляционнми базами данных, построенными в соответствии с правилами реляционной алгебры. Состав языка SQL следующий:
Язык манипулирования данными состоящий из команд: SELECT (выбрать), INSERT (вставить), UPDATE (обновить), DELETE (удалить).
Язык определения данных используемый для создания и изменения структуры БД и ее составных частей – таблиц, индексов, представлений (виртуальных таблиц). Основными его командами являются: CREATE DATABASE (создать базу данных), CREATE TABLE (создать таблицу), CREATE INDEX (создать индекс), ALTER DATABASE (модифицировать базу данных), ALTER TABLE (модифицировать таблицу), ALTER INDEX (модифицировать индекс), DROP DATABASE (удалить базу данных), DROP TABLE (удалить таблицу), DROP INDEX (удалить индекс).
Язык управления данными (управления доступом) состоит из двух основных команд: GRANT (дать права), REVOKE (забрать права).
Наиболее важной и часто используемой командой языка манипулирования данными SQL является команда SELECT. Формат команды SELECT в языке SQL:
SELECT поля FROM таблицы WHERE условие;
Базовыми операциями команды SELECT являются: выборка, проекция, соединение, объединение.
Операция выборки позволяет получить все строки либо часть строк таблицы.
SELECT * FROM Student; – Получить все строки таблицы Student
SELECT * FROM Student WHERE Kurs=2; – Получить подмножество строк таблицы, удовлетворяющих условию Kurs=2. Точка с запятой является стандартным признаком конца команды, который вставляется автоматически.
Операция проекции позволяет выделить подмножество столбцов таблицы.
SELECT StudName FROM Student WHERE Kurs=2; – Получить имена студентов второго курса.
Операция соединения позволяет соединять строки из более чем одной таблицы:
SELECT StudName, Exammark FROM Students, Exams WHERE Students.Stud_Id =Exams.Stud_Id – Получить список студентов и экзаменационных оценок.
Операция объединения позволяет объединять результаты отдельных запросов. Предложение UNION объединяет вывод двух или более SQL-запросов.
SELECT name FROM employee WHERE country = "Беларусь" UNION SELECT contact_nаме, FROM customer WHERE country = "Беларусь"; – Получить список работников и заказчиков, проживающих в Беларуси.
Условия отбора. Директива WHERE содержит условия отбора (предикат). Запрос возвращает только строки, для которых предикат имеет значение true. Типы предикатов, используемых в предложении WHERE:
Сравнение: = (равно); <> (не равно); != (не равно); > (больше); < (меньше); >= (больше или равно); <= (меньше или равно); BETWEEN, IN , LIKE, CONTAINING, IS NULL, EXIST, ANY, ALL.
Предикат BETWEEN задает диапазон значений, для которого истинно значение выражения. Например:
SELECT StudName, Stipend FROM Student WHERE Stipend BETWEEN 120 AND 200 – получить список студентов стипендия которых больше 120 и меньше 200.
Тот же запрос с использованием операторов сравнения будет выглядеть следующим образом:
SELECT StudName, Stipend FROM Student WHERE Stipend>=120000 AND Stipend<=200000
Предикат IN (NOT IN) проверяет, входит ли заданное значение, предшествующее ключевому слову “IN”, в указанный в скобках список. Например:
SELECT name FROM employee WHERE job_code IN ("VP", "Admin", "Finan") – получить список сотрудников, занимающих должности “вице-президент”, “администратор”, “финансовый директор”.
Предикат LIKE проверяет, соответствует ли данное символьное значение строке с указанной маской. В качестве маски используются все разрешенные символы (с учетом верхнего и нижнего регистров), а также специальные символы: % – замещает любое количество символов, _ – замещает только один символ. Например:
SELECT StudName FROM Student WHERE StudName LIKE "Ф%" – получить список студентов, фамилии которых начинаются с буквы ‘Ф’.
Предикат CONTAINING аналогичен предикату LIKE, однако он не чувствителен к регистру букв.
Предикат IS NULL принимает значение true только тогда, когда выражение слева от “IS NULL” имеет значение null (пусто, не определено).
Логические операторы. К логическим операторам относятся NOT, AND, OR. В одном предикате логические операторы выполняются в указанном порядке.
Преобразование типов. В SQL имеется возможность преобразовать значение к другому типу для выполнения операций сравнения. Для этого используется функция CAST.
Изменение порядка выводимых строк. Порядок выводимых строк может быть изменен с помощью предложения ORDER BY в конце SQL-запроса. Это предложение имеет вид: ORDER BY [ASC | DESC]
Способом по умолчанию является упорядочивание “по возрастанию” (ASC). Если указано “DESC”, упорядочивание производится “по убыванию”. Например:
SELECT StudName, Stipend FROM Student ORDER BY StudName – получить список в алфавитном порядке.