Краткий справочник по jQuery

jQuery – пожалуй самая популярная библиотека JavaScript для взаимодействия HTML и JavaScript. Данная статья является кратким справочником-шпаргалкой по функциям jQuery. 

Информация о jQuery

  • Тип: JavaScript-библиотека
  • Разработчики: Джон Резиг
  • Написана на: JavaScript
  • Операционная система: кроссплатформенное программное обеспечение

Атрибуты

Название Описание
.attr()

 
возвращает/изменяет (в зависимости от числа параметров) 

значение атрибута у элементов на странице
.removeAttr()  удаляет атрибут у элементов на странице
.addClass()  добавляет класс элементам на странице
.removeClass() удаляет класс(ы) у элементов на странице
.toggleClass() изменяет наличие класса у элементов на противоположное 

(добавляет/удаляет)
.hasClass() проверяет наличие класса cName хотя бы у одного из 

выбранных элементов
.val() возвращает/изменяет (в зависимости от числа параметров) 

значение атрибута value у элементов на странице

CSS

Название Описание
.css() Возвращает/изменяет (в зависимости от числа входных 

параметров) CSS параметры элемента
.height()

.innerHeight()

.outerHeight()
Возвращает/изменяет высоту элемента
.width()

.innerWidth()

.outerWidth()
Возвращает/изменяет ширину элемента
.position()

.offset()
Возвращает/изменяет позицию элемента
.offsetParent() Возвращает ближайшего предка c позиционированием, 

отличным от static (позиционирование по умолчанию)
.scrollTop()

.scrollLeft()
Возвращает/изменяет величину скроллинга (прокрутку) 

элемента

Селекторы

Базовые

Название Описание
“*” все элементы
“.className” элементы с классом className
“#idName” элемент (один!) с идентификатором idName
“tagName” элементы с заданным именем тега

Комбинированные селекторы

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

собой практически так же, как в правилах CSS.

Название Описание
“first, second, …” элементы, удовлетворяющие любому из 

селекторов first, second, …
“outer inner” элементы из inner, которые являются потомками (т.е. лежат 

внутри) элементов из outer
“parent > child” элементы из child, которые являются прямыми потомками 

элементов из parent
“prev + next” элементы из next, которые следуют непосредственно за 

элементами из prev
“prev ~ next”  элементы из next, которые следуют за элементами из prev

Селекторы по атрибутам

Название Описание
“[name]” элементы, содержащие атрибут name
“[name = value]” элементы, у которых значение атрибута name совпадает 

с value
“[name != value]” элементы, у которых значение атрибута name не совпадает 

с value
“[name ^= value]” элементы, у которых значение атрибута name начинается 

с value
“[name $= value]” элементы, у которых значение атрибута name заканчивается на value
“[name *= value]” элементы, у которых значение атрибута name содержит 

подстроку value
“[name ~= value]” элементы, у которых значение атрибута name содержит 

слово value
“[name |= value]” элементы, у которых значение атрибута name имеют 

префикс value (равен value или имеет вид: “value-*”)
“[first][second][…” элементы, соответствующие всем заданным условиям на 

атрибуты одновременно

Простые фильтры

Фильтры, с помощью которых можно уточнить результат других селекторов. 

По назначению и синтаксису они очень похожи на псевдоклассы в CSS.

Название Описание
“:focus”  элемент, находящийся в фокусе
“:first” первый найденный элемент
“:last” последний найденный элемент
“:eq( )” элемент идущий под заданным номером среди выбранных
“:not(selector)” все найденные элементы, кроме указанных в selector
“:even” элементы с четными номерами позиций, в наборе 

выбранных элементов
“:odd” элементы с нечетными номерами позиций, в наборе 

выбранных элементов
“:gt( )”  элементы с индексом превышающим n
“:lt( )” элементы с индексом меньшим, чем n
“:header”  элементы, являющиеся заголовками (с тегами h1, h2 и.т.д.)
“:animated” элементы, которые в данный момент задействованы в анимации
“:hidden” невидимые элементы страницы
“:visible” видимые элементы страницы
“:lang(language)”  элементы, в которых указаны языки содержимого
“:root” элемент, который является корневым в документе.

Фильтры по содержимому

Название Описание
“:contains(text)” элементы, содержащие заданный текст
“:empty” элементы без содержимого (без текста и других 

элементов)
“:has(selector)” элементы, которые содержат хотя бы один элемент 

из selector
“:parent”  непустые элементы

Фильтры дочерних элементов

Данные селекторы отфильтровывают элементы по их расположению в 

родительских элементах.

Название Описание
“:first-child” элементы, расположенные первыми в своих родительских 

элементах
“:last-child” элементы, расположенные последними в своих 

родительских элементах
“:nth-child( )”

“:nth-child-last( )”
элементы, расположенные определенным образом в 

родительских элементах (четные, нечетные, идущие под 

заданным номером)
“:only-child” элементы, являющиеся единственными потомками в своих 

родительских элементах
“:only-of-type” элементы, являющиеся единственными, 

удовлетворяющими селектору, потомками в своих 

родительских элементах
“:first-of-type” те из выбранных элементов, которые первыми встречаются 

в своих родительских элементах
“:last-of-type” те из выбранных элементов, которые последними 

встречаются в своих родительских элементах
“:nth-first-of-type( )”

“:nth-last-of-type( )”
те из выбранных элементов, которые в определенную 

очередь встречаются в своих родительских элементах

Фильтры элементов форм

Название Описание
“:button” элементы с тегом button или типом button
“:radio” элементы, являющиеся переключателями
“:checkbox” элементы, являющиеся флажками
“:text” элементы, являющиеся текстовыми полями
“:password” элементы, являющиеся полями ввода пароля
“:file” элементы, являющиеся полями загрузки файлов
“:submit” элементы, являющиеся кнопками отправки формы
“:reset” элементы, являющиеся кнопками очистки формы
“:image” элементы, являющиеся изображениями для отправки 

формы (input типа image)
“:input” элементы, являющиеся элементами формы (с тегами input, 

textarea или button)
“:selected” выбранные элементы (со статусом selected). Это могут быть 

элементы типа <option>
“:focus” элементы формы, находящиеся в фокусе.
“:checked выбранные элементы (со статусом checked). Это могут быть 

элементы типа <checkbox> или <radio>.
“:enabled”  активные элементы формы (со статусом enabled)
“:disabled”  неактивные элементы формы (со статусом disabled)

МАНИПУЛЯЦИИ

Работа с атрибутами и свойствами

Название Описание
.attr() возвращает/изменяет (в зависимости от числа параметров) 

значение атрибута у элементов на странице
.removeAttr() удаляет атрибут у элементов на странице
.prop() возвращает/изменяет (в зависимости от числа параметров) 

значение заданного свойства у элементов на странице
.removeProp()  удаляет заданное свойство у элементов на странице
.addClass()  добавляет класс элементам на странице
.removeClass()  удаляет класс(ы) у элементов на странице
.toggleClass() изменяет наличие класса у элементов на противоположное 

(добавляет/удаляет)
.hasClass(clName) проверяет наличие заданного класса хотя бы у одного из 

выбранных элементов
.val() возвращает/изменяет (в зависимости от числа параметров) 

значение атрибута value у элементов на странице

Работа с параметрами и стилями

Название Описание
.css() Возвращает/изменяет (в зависимости от числа входных 

параметров) CSS параметры элемента
.height()

.innerHeight()

.outerHeight()
Возвращает/изменяет высоту элемента
.width()

.innerWidth()

.outerWidth()
Возвращает/изменяет ширину элемента
.position()

.offset()
Возвращает/изменяет позицию элемента
.offsetParent() Возвращает ближайшего предка c позиционированием, 

отличным от static (позиционирование по умолчанию)
.scrollTop()

.scrollLeft()
Возвращает/изменяет величину скроллинга (прокрутку) 

элемента

Добавление содержимого

Название Описание
.html() Возвращает/изменяет (в зависимости от числа параметров) 

html-содержимое элементов на странице
.text() Возвращает/изменяет (в зависимости от числа параметров) 

текст, находящийся в элементах на странице
.append()

.appendTo()
Добавляет заданное содержимое в конец элементов на 

странице
.prepend()

.prependTo()
Добавляет заданное содержимое в начало элементов на 

странице
.after()

.insertAfter()
Добавляет заданное содержимое после элементов на 

странице
.before()

.insertBefore()
Добавляет заданное содержимое перед элементами на 

странице
.wrap()

.wrapAll()
Окружает элементы на странице заданными html-элементами
.wrapInner() Окружает содержимое элементов на странице заданными html-элементами

Удаление содержимого

Название Описание
.detach()

.remove()
Удаляет элементы на странице
.empty()  Удаляет содержимое элементов на странице
.unwrap() Удаляет родительские элементы, при этом их содержимое 

остается на месте

Замена элементов

Название Описание
.replaceWith()

.replaceAll()
Заменяет одни элементы страницы на другие (новые или уже 

существующие).

Клонирование элементов

Название Описание
.clone( )  Возвращает копию выбранных элементов страницы.

РАБОТА С НАБОРОМ ЭЛЕМЕНТОВ

Перемещения по дереву DOM

Название Описание
.children() Находит все дочерние элементы у выбранных элементов. 

При необходимости, можно указать селектор для 

фильтрации.
.closest() Находит ближайший, соответствующий заданному 

селектору элемент, из числа следующих: сам выбранный 

элемент, его родитель, его прародитель, и так далее, до 

начало дерева DOM.
.find() Находит элементы по заданному селектору, внутри 

выбранных элементов.
.next() Находит элементы, которые лежат непосредственно после 

каждого из выбранных элементов. 
.nextAll() Находит элементы, которые лежат после каждого из 

выбранных элементов.
.nextUntil() Находит элементы, которые лежат после каждого из 

выбранных, но не дальше элемента, удовлетворяющего 

заданному селектору.
.offsetParent() Возвращает ближайшего предка c позиционированием, 

отличным от static (позиционирование по умолчанию)
.parent() Находит родительские элементы у всех выбранных 

элементов
.parents() Находит всех предков у выбранных элементов, т.е. не 

только прямых родителей, но и прародителей, 

прапрародителей и так далее, до начало дерева DOM
.parentsUntil() Находит предков, как и .parents(), но прекращает поиск 

перед элементом, удовлетворяющим заданному селектору
.prev() Находит элементы, которые лежат непосредственно перед 

каждым из выбранных элементов
.prevAll() Находит элементы, которые лежат перед каждым из

выбранных элементов.
.prevUntil() Находит элементы, которые лежат перед каждым из 

выбранных, но не дальше элемента, соответствующего 

заданному селектору.
.siblings() Находит все соседние элементы (под соседними

понимаются элементы с общим родителем).

Фильтрация набора

Название Описание
.eq() Возвращает элемент, идущий под заданным номером в 

наборе выбранных элементов.
.filter() Фильтрует набор выбранных элементов с помощью 

заданного селектора или функции.
.first()  Возвращает первый элемент в наборе.
.has() Фильтрует набор выбранных элементов, оставляя те, 

которые имеют потомков, соответствующих селектору.
.is() Проверяет, содержится ли в наборе, хотя бы один элемент 

удовлетворяющий заданному селектору. 
.last() Возвращает последний элемент в наборе.
.not() Возвращает элементы, не соответствующие заданным 

условиям.
.slice() Возвращает элементы с индексами из определенной 

области (например от 0 до 5).

Обход набора

Название Описание
.each() Вызывает заданную функцию для каждого элемента 

набора.
.map() Вызывает заданную функцию для каждого элемента 

набора, и в итоге создает новый набор, составленный из 

значений, возвращенных этой функцией.

Другие методы

Название Описание
.add() Добавляет заданные элементы в набор.
.andSelf() Добавляет элементы из предыдущего набора, к текущему 

(речь идет об одной цепочке методов).
.contents() Находит все дочерние элементы у выбранных элементов. В 

результат, помимо элементов, включается и текст.
.end() Возвращает предыдущий набор элементов в текущей 

цепочке методов.

РАЗНОЕ

Работа с данными

Название Описание
.data() Устанавливает/возвращяет пользовательские переменные 

выбранным элементам страницы.
.removeData() Удаляет пользовательские переменные у выбранных 

элементов.
$.hasData() Проверяет, закреплены ли данные за указанным 

элементом страницы.

Работа с элементами набора

Название Описание
.get()  Возвращяет DOM-элементы, хранящиеся в объекте jQuery.
.toArray() Возвращяет все DOM-элементы, хранящиеся в объекте 

jQuery, в виде массива.
.index()  Возвращяет индекс заданного элемента в наборе.
.size()  Возвращяет количество выбранных элементов.

СВОЙСТВА

Список свойств

Название Описание
$.browser Информация об используемом браузере (перед 

использованием этого свойства попробуйте найти 

интересующую вас особенность в свойстве support, эта 

информация будет более надежна).
$.support Особенности используемого браузера.
$.fx.off  Отменяет выполнение всех анимаций.
$.fx.interval  Размер задержки между соседними кадрами анимации.
.context Контекст, заданный в методе $() (jQuery()).
.length  Число выбранных элементов.
.selector Селектор, заданный в методе $() (jQuery()).

СОБЫТИЯ

Базовые

Название Описание
.on() Универсальный метод для установки обработчиков 

событий на выбранные элементы страницы. 
.off() Удаляет обработчики, установленные с помощь .on().
.bind() Устанавливает обработчик события на выбранные 

элементы страницы. Обработчик не сработает на 

элементах, появившихся после его установки.
.live() Устанавливает обработчик события на выбранные 

элементы страницы. Обработчик сработает и на элементах, 

появившихся после его установки.
.delegate() Устанавливает обработчик события на выбранные 

элементы страницы. Элементы выбираются с помощью 

уточняющего селектора. Обработчик будет действовать и 

на элементах, появившихся после его установки.
.one() Устанавливает обработчик события на выбранные 

элементы страницы, который сработает только по одному 

разу, на каждом из элементов.
.unbind() Удаляет обработчик событий у выбранных элементов.
.die() Удаляет обработчик событий, который был установлен с 

помощью live().
.undelegate() Удаляет обработчик событий, который был установлен с 

помощью delegate().
.trigger() Выполняет указанное событие и запускает его обработчик
.triggerHandler() Запускает обработчик указанного события, без его 

выполнения.
jQuery.proxy() По заданной функции, создает другую, внутри которой 

переменная this будет равна заданному значению.
event Объект, содержащий данные о текущем событии. 

Передается всем обработчикам событий.

События мыши

Название Описание
.click() Устанавливает обработчик “клика” мышью по элементу, 

либо, запускает это событие.
.dblclick() Устанавливает обработчик двойного “клика” мышью по 

элементу, либо, запускает это событие.
.hover() Устанавливает обработчик двух событий: 

появления/исчезновения курсора над элементом. 
.mousedown() Устанавливает обработчик нажатия кнопки мыши, либо, 

запускает это событие.
.mouseup() Устанавливает обработчик поднятия кнопки мыши, либо, 

запускает это событие.
.mouseenter() Устанавливает обработчик появления курсора в области 

элемента, либо, запускает это событие. Появление этого 

события, отработано лучше, чем стандартного mouseover.
.mouseleave() Устанавливает обработчик выхода курсора из области 

элемента, либо, запускает это событие. Появление этого 

события, отработано лучше, чем стандартного mouseout.
.mousemove() Устанавливает обработчик движения курсора в области 

элемента, либо, запускает это событие.
.mouseout() Устанавливает обработчик выхода курсора из области 

элемента, либо, запускает это событие.
.mouseover() Устанавливает обработчик появления курсора в области 

элемента, либо, запускает это событие.
.toggle() Поочередно выполняет одну из двух или более заданных 

функций, в ответ на “клик” по элементу.

События клавиатуры

Название Описание
.keydown() Устанавливает обработчик перехода клавиши клавиатуры в 

нажатое состояние, либо, запускает это событие.
.keyup() Устанавливает обработчик возвращение клавиши 

клавиатуры в ненажатое состояние, либо, запускает это 

событие.
.keypress() Устанавливает обработчик ввода символа с клавиатуры, 

либо, запускает это событие.

События формы

Название Описание
.focus() Устанавливает обработчик получения фокуса, либо, 

запускает это событие.
.blur() Устанавливает обработчик потери фокуса, либо, запускает 

это событие.
.focusin() Устанавливает обработчик получения фокуса самим 

элементом или одним из его дочерних.
.focusout() Устанавливает обработчик потери фокуса самим элементом 

или одним из его дочерних.
.select() Устанавливает обработчик выделения текста, либо, 

запускает это событие.
.submit() Устанавливает обработчик отправки формы, либо, 

запускает это событие.
.change() Устанавливает обработчик изменения элемента формы, 

либо, запускает это событие.

События загрузки страницы

Название Описание
.ready()  Устанавливает обработчик готовности дерева DOM.
.load() Устанавливает обработчик завершения загрузки элемента.
.unload() Устанавливает обработчик ухода со страницы (при 

переходе по ссылке, закрытии браузера и.т.д.).

События браузера

Название Описание
.error() Устанавливает обработчик ошибки при загрузке элементов 

(например отсутствие необходимой картинки на сервере).
.resize() Устанавливает обработчик изменения размеров окна 

браузера, либо, запускает это событие.
.scroll() Устанавливает обработчик “прокрутки” элементов 

документа, либо, запускает это событие.

ФОРМЫ

События формы

Название Описание
.focus() Устанавливает обработчик получения фокуса, либо, 

запускает это событие.
.blur() Устанавливает обработчик потери фокуса, либо, запускает 

это событие.
.focusin() Устанавливает обработчик получения фокуса самим 

элементом или одним из его дочерних.
.focusout() Устанавливает обработчик получения фокуса самим 

элементом или одним из его дочерних.
.select() Устанавливает обработчик выделения текста, либо, 

запускает это событие.
.submit() Устанавливает обработчик отправки формы, либо, 

запускает это событие.

Разное

Название Описание
jQuery.param() Преобразует массив объектов в строку, пригодную для 

использования в URL.
.serialize() Преобразует данные формы в строку, пригодную для 

использования в URL.
.serializeArray() Преобразует данные формы в массив объектов 

вида {name:”name”, value:”val”}.
.val() Возвращает/изменяет (в зависимости от числа параметров) 

значение атрибута value у элементов на странице

ЭФФЕКТЫ

Управление анимацией

Название Описание
.animate() Выполняет анимацию, которая была создана 

пользователем.
.queue() Предоставляет/изменяет (в зависимости от параметров) 

очередь функций.
.clearQueue() Очищает очередь функций.
.dequeue()  Начинает выполнение следующей функции в очереди.
.stop()  Останавливает выполнение текущей анимации.
.delay() Приостанавливает выполнение следующих анимаций на 

заданное время.
.toggle() Поочередно выполняет вызов одной из нескольких 

заданных функций.
jQuery.fx.interval Содержит временной промежуток между кадрами 

анимации.
jQuery.fx.off  Отменяет выполнение всех анимаций.

Стандартные анимации

Название Описание
.hide()

.show()
Скрывает/показывает элементы на странице (за счет 

плавного изменения его размера и прозрачности).
.slideUp()

.slideDown()
Разворачивает/сворачивает элементы на странице (за счет 

плавного изменения высоты элементов).
.slideToggle() Поочередно разворачивает/сворачивает элементы на 

странице, как это делают .slideUp() и .slideDown().
.fadeIn()

.fadeOut()
Скрывает/показывает элементы на странице за счет 

плавного изменения прозрачности.
.fadeTo()  Плавно изменяет прозрачность элементов.
.fadeToggle() Поочередно скрывает/показывает элементы на странице, 

как это делают .fadeIn() и .fadeOut().

УТИЛИТЫ

Список функций

Название Описание
$.contains() Проверяет, содержится ли один элемент страницы внутри 

другого.
$.extend()  Объединяет два или более javascript-объекта.
$.globalEval() Выполняет заданный скрипт в глобальной области 

видимости.
$.grep() Ищет в заданном массиве элементы удовлетворяющие 

условиям.
$.inArray() Ищет в заданном массиве конкретный элемент и 

возвращает его индекс (или -1 в случае отсутствия 

элемента).
$.isArray() Проверяет, является ли заданный элемент массивом.
$.isEmptyObject() Проверяет наличие (точнее отсутствие) содержимого в 

заданном объекте.
$.isFunction() Проверяет, является ли заданный элемент функцией.
$.isNumeric()  Проверяет, является ли заданный элемент числом.
$.isPlainObject() Проверяет, является ли заданный элемент 

пользовательским объектом (задан 

средствами “{}” или “new Object”).
$.isWindow() Проверяет, является ли заданный элемент объектом типа 

window.
$.isXMLDoc() Проверяет, находится ли DOM-объект внутри XML-документа (или сам является XML-документом).
$.makeArray()  Конвертирует массиво подобные объекты, в массивы.
$.map() Выполняет заданную функцию для каждого элемента 

массива или каждого поля объекта в отдельности.
$.merge() Объединяет содержимое нескольких массивов, записывая 

его в первый из них.
$.noop()  Пустая функция.
$.parseJSON()  Конвертирует строку с json-данными в javascript-объект.
$.parseXML() Конвертирует строку xml в xml-документ.
$.proxy() По заданной функции, создает другую, внутри которой 

переменная this будет равна заданному значению.
$.trim()  Удаляет пробелы из начала и конца заданной строки.
$.type() Определяет класс заданного объекта (речь идет о 

внутренних классах javascript: string, boolean и т.д.).
$.unique() Сортирует заданный массив с DOM-элементами, 

выстраивая их в порядке расположения в DOM, а так же 

удаляя повторения.

Язык запросов SQL

База данных — централизованное хранилище данных, обеспечивающее хранение, доступ, первичную обработку и поиск информации.Базы данных разделяются на:

Иерархические
Сетевые
Реляционные
Объектно-ориентированные

SQL (Structured Query Language) — представляет из себя структурированный язык запросов (перевод с английского). Язык ориентирован на работу с реляционными (табличными) базами данных. Язык прост и, по сути, состоит из команд (интерпретируемый), посредством которых можно работать с большими массивами данных (базами данных), удаляя, добавляя, изменяя информацию в них и осуществляя удобный поиск.Для работы с SQL кодом необходима система управления базами данных (СУБД), которая предоставляет функционал для работы с базами данных.

Система управления базами данных (СУБД) — совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

Обычно, для обучения используется СУБД Microsoft Access, но мы будем использовать более распространенную в веб сфере систему — MySQL. Для удобства будет использовать веб-интерфейс phpmyadmin или онлайн сервис для построения sql запросов sql fiddle, принцип работы с которыми описан ниже.

Важно: При работе с реляционными или табличными базами данных строки таблицы будем называть записями, а столбцы — полями.

Каждый столбец должен иметь свой тип данных, т.е. должен быть предназначен для внесения данных определенного типа. Типы данных в MySQL описаны в одном из уроков данного курса.Язык SQL состоит из следующих составных частей:

язык манипулирования данными (Data Manipulation Language, DML);
язык определения данных (Data Definition Language, DDL);
язык управления данными (Data Control Language, DCL).

1. Язык манипулирования данными состоит из 4 главных команд:

выборка данных из БД — SELECT
вставка данных в таблицу БД — INSERT
обновление (изменение) данных в таблицах БД — UPDATE
удаление данных из БД — DELETE

2.Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей — таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Мы будем рассматривать лишь несколько из основных команд языка. Ими являются:

создание базы данных — CREATE DATABASE
создание таблицы — CREATE TABLE
изменение таблицы (структуры) — ALTER TABLE
удаление таблицы — DROP TABLE

3.Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде.

Как сделать sql запрос в phpmyadmin

  • Запустить ярлык start denwer.
  • В адресной строке браузера набрать http://localhost/tools/phpmyadmin.
  • В левой части окна выбрать интересующую базу данных или создать ее (если еще не создана). Создание базы данных в phpmyadmin рассмотрено ниже.
  • Если известна таблица, с которой будет работать запрос — в левой части окна выбрать эту таблицу.
  • Выбрать вкладку SQL и начать вводить запрос.
  • Запустить ярлык start denwer.
  • В адресной строке браузера набрать http://localhost/tools/phpmyadmin.
  • В левой части окна выбрать интересующую базу данных или создать ее (если еще не создана). Создание базы данных в phpmyadmin рассмотрено ниже.
  • Если известна таблица, с которой будет работать запрос — в левой части окна выбрать эту таблицу.
  • Выбрать вкладку SQL и начать вводить запрос.
  • Для начала необходимо выполнить первые два пункта из предыдущего задания.

    Затем:

  • в открывшемся веб-интерфейсе выбрать вкладку Базы данных;
  • в поле Создать базу данных ввести название базы;
  • щелкнуть по кнопке Создать;
  • теперь для продолжения работы в phpMyAdmin в созданной базе данных можно перейти к уроку создания таблиц.
  • Язык запросов SQLОнлайн проверка sql запросов возможна при помощи сервиса sqlFiddle.

    Самый простой способ организации работы состоит из следующих этапов:

  • В верхней части рабочей области сервиса выбираем язык: SQLite(WebSQL);
  • Открывшаяся рабочая область разделена визуально на 3 окна: левое — для кода создания таблиц и заполнения их данными, правое — для кода запросов, нижнее — для отображения результатов запросов.
  • В левое окно помещается код для создания таблиц и вставки в них данных (пример кода расположен ниже). Затем щелкается кнопка «Build Schema».
  • После того как схема построена (об этом сигнализирует надпись на зеленом фоне «Schema Ready»), в правое окошко вставляется код запроса и щелкается кнопка Run SQL.
  • Открывшаяся рабочая область разделена визуально на 3 окна: левое — для кода создания таблиц и заполнения их данными, правое — для кода запросов, нижнее — для отображения результатов запросов.

    Еще пример:

    Теперь некоторые пункты рассмотрим подробнее.

    Создание таблиц:

    Пример: создайте сразу три таблицы (teachers, lessons и courses); добавьте по нескольку значений в каждую таблицу.

    * для тех, кто незнаком с синтаксисом — просто скопировать полностью код и вставить в левое окошко сервиса

    * урок по созданию таблиц в языке SQL далее

    * для тех, кто незнаком с синтаксисом — просто скопировать полностью код и вставить в левое окошко сервиса* урок по созданию таблиц в языке SQL далее

    /*teachers*/ CREATE TABLE `teachers` ( `id` int(11) NOT NULL, `name` varchar(25) NOT NULL, `code` int(11), `zarplata` int(11), `premia` int(11), PRIMARY KEY (`id`) ); insert into teachers values (1, 'Иванов',1,10000,500), (2, 'Петров',1,15000,1000) ,(3, 'Сидоров',1,14000,800), (4,'Боброва',1,11000,800); /*lessons*/ CREATE TABLE `lessons` ( `id` int(11) NOT NULL, `tid` int(11), `course` varchar(25), `date` varchar(25), PRIMARY KEY (`id`) ); insert into lessons values (1,1, 'php','2015-05-04'), (2,1, 'xml','2016-13-12'); /*courses*/ CREATE TABLE `courses` ( `id` int(11) NOT NULL, `tid` int(11), `title` varchar(25), `length` int(11), PRIMARY KEY (`id`) ); insert into courses values (1,1, 'php',54), (2,1, 'xml',72), (3,2, 'sql',25);
    В результате получим таблицы с данными:

    Язык запросов SQLОтправка запроса:

    Для того чтобы протестировать работоспособность сервиса, добавьте в правое окошко код запроса.

    Пример: при помощи запроса выберите все данные из таблицы teachers, касаемые учителя с фамилией Иванов

    SELECT * FROM `teachers` WHERE `name` = 'Иванов';На дальнейших уроках SQL будет использоваться та же схема, поэтому необходимо будет просто копировать схему и вставлять в левое окно сервиса.Для онлайн визуализации схемы базы данных можно воспользоваться сервисом https://dbdesigner.net/:

  • Создать свой аккаунт (войти в него, если уже есть).
  • Щелкнуть по кнопке Go to Application.
  • Меню Schema -> Import.
  • Скопировать и вставить в появившееся окно код создания и заполнения таблиц базы данных
  • Соединение с базой данных посредством php

    В статье будет рассмотрен пример соединения с базой данных mySQL посредством языка php и необходимые для этого функции php; разобраны конкретные примеры соединения с mySQL

    Содержание:

  • Соединение с базой данных посредством php
  • Соединение с сервером посредством php
  • Выбор базы данных mySQL и соединение с ней
  • Создание запроса к базе данных
  • Обработка результатов запроса к базе mySQL
    • Решение проблем с кодировкой
    • Использование для обработки цикла foreach
    • Точечная выборка (одной записи)
  • Дополнительные php функции для работы с mySQL
  • Решение проблем с кодировкой
  • Использование для обработки цикла foreach
  • Точечная выборка (одной записи)
  • Соединение с базой данных происходит в 4 этапа:

  • Открыть соединение с сервером
  • Выбрать базу данных
  • Послать запрос базе дынных
  • Закрытие БД (не всегда)
  • Рассмотрим на примерах каждый этап отдельно:

  • Создание переменной, ассоциирующейся с соединением с сервером mySql:
  • 1 2 3 4 5 
     $conn = mysql_connect ("localhost", "root", "");mysql_close($conn); ?>

    Функция языка php mysql_connect — открывает соединение с сервером MySQL. Три параметра функции:

    1. "localhost" — сервер, при работе локально указывается значение «localhost»
    2. "root" — имя пользователя, при работе локально обычно указывается «root»
    3. "" — третий параметр — пароль, локально пароль отсутствует
  • Обработка возможной ошибки
  • 1 2 3 4 5 6 7 
     $conn = mysql_connect ("localhost", "root", "")  	or die("Нет соединения: " . mysql_error()); print ("Удачно соединено");mysql_close($conn); ?>

    or die (mysql_error())

    Функция php mysql_error() возвращает строку ошибки последней операции с MySQL и может быть использована не только при попытке соединения с сервером, но и в других вариантах работы с базой данных mysql

    Функция языка php mysql_connect — открывает соединение с сервером MySQL. Три параметра функции:

    1. "localhost" — сервер, при работе локально указывается значение «localhost»
    2. "root" — имя пользователя, при работе локально обычно указывается «root»
    3. "" — третий параметр — пароль, локально пароль отсутствует

    Функция языка php mysql_connect — открывает соединение с сервером MySQL. Три параметра функции:

  • "localhost" — сервер, при работе локально указывается значение «localhost»
  • "root" — имя пользователя, при работе локально обычно указывается «root»
  • "" — третий параметр — пароль, локально пароль отсутствует
  • or die (mysql_error())

    Функция php mysql_error() возвращает строку ошибки последней операции с MySQL и может быть использована не только при попытке соединения с сервером, но и в других вариантах работы с базой данных mysql

    or die (mysql_error())

    Функция php mysql_error() возвращает строку ошибки последней операции с MySQL и может быть использована не только при попытке соединения с сервером, но и в других вариантах работы с базой данных mysql

    Функция php mysql_connect — выбирает базу данных MySQL. Два параметра функции:

  • "db_name" — имя базы данных
  • $conn — указатель на соединение
  • Функция php mysql_connect — выбирает базу данных MySQL. Два параметра функции:

    Функция php mysql_query — посылает запрос активной базе данных сервера, на который ссылается переданный указатель. Два параметра функции:

  • $sql — запрос
  • $conn — указатель на соединение
  • Функция php mysql_query — посылает запрос активной базе данных сервера, на который ссылается переданный указатель. Два параметра функции:

    Важно: Чтобы проще обнаружить ошибку можно выводить запрос:

    echo $sql;

    echo $sql;

    Функция php mysql_fetch_array — возвращает массив с обработанным рядом результата запроса или FALSE, если рядов, отвечающих параметрам запроса, нет

    Функция php mysql_fetch_array — возвращает массив с обработанным рядом результата запроса или FALSE, если рядов, отвечающих параметрам запроса, нет

    Важно: в ряде случаев, если результаты не выдаются, следует поменять кодировку на windows12-51

    $conn = mysql_connect (“localhost”, “root”, “”) or die(“Нет соединения: ” . mysql_error()); print (“Удачно соединено”); mysql_select_db(“institute”, $conn); mysql_query(“SET NAMES cp1251”);foreach($result as $row){ $name=$row[“name”]; $zp= $row[“zarplata”]; }

    Пример: вывести все записи для фамилии Иванов

    $conn = mysql_connect (“localhost”, “root”, “”) or die(“Нет соединения: ” . mysql_error()); print (“Удачно соединено”); mysql_select_db(“institute”, $conn); $sql=”SELECT * FROM `teachers` WHERE `name`=’Иванов'” ; $sql= (string) $sql; $result = mysql_query($sql, $conn) or die (“no!”.mysql_error()); // сохраняем результат в виде массива $row $row=mysql_fetch_array($result); print_r($row);Соединение с базой данных посредством php

    Функция print_r() в php предназначена для вывода удобочитаемой информации о переменной

    Функция print_r() в php предназначена для вывода удобочитаемой информации о переменной

    Важно: Абсолютно одинаковым результатом будет обращение к полю по его имени и по его номеру:

    echo $row["name"];

    и

    echo $row[1];

    echo $row[“name”];иecho $row[1];Для отображения всех значений используется цикл:while($row=mysql_fetch_assoc($result)){ echo $row[“name”].”

    “; }

    Синтаксис:

    mysql_result($result, int row, string field)

    Синтаксис:mysql_result($result, int row, string field)

    Пример: Выбираем значение поля "name" в записи под номером 1

    mysql_result($result, 1, “name”)

    Задание php mysql 1: Выполните запрос на выборку id и name из таблицы учителей.

    Отобразите данные на странице в виде: id: name

    mysql_num_rows($result); // Количество записей // пример: echo mysql_num_rows($result); // Количество записей mysql_num_fields($result); // Количество полей // пример: echo mysql_num_fields($result); // Количество полей mysql_field_name($result,1); // имя поля под номером 1 // пример: echo mysql_field_name($result,1); // имя поля под номером 1 mysql_affected_rows([$conn]); // количество изменений mysql_insert_id([$conn]); //id последней записи

    Установка Denwer

    В статье будет рассмотрен пример создания на локальной машине базы данных mySQL и ее таблиц; установка DENWER

    Содержание:

  • Установка Denwer
  • Создание базы данных mySQL локально (insitute)
  • Создание таблиц в phpMyAdmin
  • Типы данных в mySQL
  • Пакет denwer можно найти и загрузить с официального сайта. Для работы с базами данных mySql существует популярный инструмент с удобным вебинтерфейсом — phpMyAdmin.После успешной установки пакета Denwer, выполняются следующие действия для запуска инструмента phpMyAdmin:* в случае изменения используемого порта во избежание конфликтов при установке denwer, адрес инструмента может быть и другим, например:

    http://localhost:8080/tools/phpmyadminСоздадим базу данных с названием insitute:Установка DenwerТеперь в готовой базе данных можно создавать таблицы с полями:Установка DenwerТипы данных для MySQL можно разделить на три категории: числовые данные, дата и время, и данные типа строка.

    Таким образом, поля таблицы могут иметь следующие типы данных:

    Задание mysql 1. На компьютере создайте базу данных с именем Institute и таблицы:

    — lessons с полями:

    • id – уникальное поле, ключ (A_I — счетчик)
    • tid – для связи с teachers (int)
    • course — varchar
    • date — типа date

    — courses c полями:

    • id – уникальное поле, ключ (A_I — счетчик)
    • tid – для связи с teachers
    • title — varchar
    • length (длительность в часах)

    — teachers c полями:

    Установка Denwer

    Важно:

    * Атрибут AUTO_INCREMENT используется для генерации уникального идентификатора для новых строк

    * Первичный ключ (primary key) применяется для уникальной идентификации записей (полей) таблицы. Две записи таблицы не могут иметь одинаковых значений первичного ключа. В реляционных (табличных) базах данных практически всегда разные таблицы логически связаны друг с другом. Первичные ключи используются для однозначной организации данной связи.

  • id – уникальное поле, ключ (A_I — счетчик)
  • tid – для связи с teachers (int)
  • course — varchar
  • date — типа date
  • — courses c полями:

  • id – уникальное поле, ключ (A_I — счетчик)
  • tid – для связи с teachers
  • title — varchar
  • length (длительность в часах)
  • — teachers c полями:Установка Denwer

    * Первичный ключ (primary key) применяется для уникальной идентификации записей (полей) таблицы. Две записи таблицы не могут иметь одинаковых значений первичного ключа. В реляционных (табличных) базах данных практически всегда разные таблицы логически связаны друг с другом. Первичные ключи используются для однозначной организации данной связи.

    Задание mysql 2. Заполните таблицы данными, как показано на рисунках ниже для таблицы teachers. Аналогично заполните записи в таблицах courses и lessons

    Установка Denwer

    Установка Denwer

    Связь данных таблиц организуется посредством значений записей id и tid:

    Установка Denwer

    Назад
    Далее к уроку 2

    Установка DenwerУстановка DenwerСвязь данных таблиц организуется посредством значений записей id и tid:Установка Denwer

    Работа с сессиями в PHP

    На уроке рассмотрены методы передачи данных форм GET и POST

    Содержание:

  • Работа с сессиями в PHP
    • Использование сессии
    • Демонстрация работы сессии
  • Использование сессии
  • Демонстрация работы сессии
  • Сессия – текстовый файл, хранится пока открыт браузер

    Сессия – текстовый файл, хранится пока открыт браузерРабота с сессиями в PHP

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

    Сессия открыта, пока открыт браузер

    При каждом последующем запросе от одного и того же пользователя, сервер проверяет открыта ли сессия, и если открыта – то сохраняет туда промежуточные результаты работы с сайтом.Сессия открыта, пока открыт браузерСессии хранятся временно (в c:windowstemp) с помощью куки, в которой хранится id сессии, и на сервере.Создание сессииФункция session_start() либо создает сессию, либо продолжает работу с открытой сессией:session_start();Хранение данных в массиве сессии$_SESSION // в этом массиве хранятся данные $_SESSION[“user”] = “Mike”; echo $_SESSION[“user”];Удаление сессииunset $_SESSION[“user”]; session_destroy();Обращение к сессииsession_id(); // id сессии session_name(); // имя сессииРабота с сессией на примере двух файловЗапуская файл session2.php, на экране сразу отображается имя, так как мы его считываем из сессии.Проиллюстрируем полный вариант работы трех файлов: session-1.php, session-2.php, session-destroy.php:Файл session1.phpФайл session2.phpФайл session-destroy.phpSession2.php запускается совершенно отдельно, но в том же браузере. Имя берется из сессии

    Задание 9_1: Воссоздайте работу с сессией по изображением трех файлов.


    Cookie: создание и параметры

    На уроке рассмотрены методы передачи данных форм GET и POST

    Содержание:

  • Cookie: создание и параметры
  • Cookie: удаление
  • Заголовки. Функция header: переадресация, установка кодировки и др
  • Хэш-функция (шифрование)
  • Существуют переменные сессионные (временные) и постоянные. Временные существуют пока открыт браузер, постоянные — пока не истечет срок годности cookie.

    Работу сервера и браузера с cookie файлами демонстрирует следующая иллюстрация:

    Cookie: создание и параметры

    Браузер, посылая запрос на конкретный домен, смотрит, есть ли у него куки для этого домена

    Пример cookie

    Cookie: создание и параметры

    Рис. 9.1. Параметры cookie

    Расшифруем параметры cookie в порядке их следования:Браузер, посылая запрос на конкретный домен, смотрит, есть ли у него куки для этого домена

    Пример cookieРис. 9.1. Параметры cookie

  • Имя куки: только латинские буквы, цифры, символ подчеркивания и дефис
  • Значение параметра
  • Дата истечения срока годности
  • Путь, который определяет, в каком месте домена может использоваться файл куки
  • Домен
  • Указание, что данные куки должны передаваться посредством безопасного соединения HTTPS
  • Cookie: создание и параметры

    Рис. 9.2. Пример установки cookie

    Cookie: создание и параметры

    Рис. 9.3. Проверка передачи cookie

    Задание 9_1: Создать cookie, установить значение – ваше имя. Написать код с проверкой передачи и выводом данного cookie на экран. Добавить текстовое поле для вывода значения cookie в нем.

    Задание 9_2:

    Выводите на экран количество посещений страницы, используя cookie.

    Предлагаемый алгоритм (возможен другой вариант выполнения):

    1. Установите переменную для счетчика ($counter), обнулив ее.
    2. Проверьте, установлен ли уже cookie, если да — то присвойте переменной $counter значение cookie (см. пункт 3).
    3. Добавьте cookie для хранения количества посещений.
    4. Приращивайте счетчик.
    5. Проверьте, установлен ли уже cookie, если да — то выводите значение cookie.

    Рис. 9.2. Пример установки cookieРис. 9.3. Проверка передачи cookie

  • Установите переменную для счетчика ($counter), обнулив ее.
  • Проверьте, установлен ли уже cookie, если да — то присвойте переменной $counter значение cookie (см. пункт 3).
  • Добавьте cookie для хранения количества посещений.
  • Приращивайте счетчик.
  • Проверьте, установлен ли уже cookie, если да — то выводите значение cookie.
  • Помимо стандартного создания cookiesetcookie(“TestCookie”, “Ivan”, time()+300);существует возможность создания массива из разных cookie:

    Cookie: создание и параметры

    Рис. 9.3. Создание массива из разных cookie

    Пример: Создать два cookie для хранения имени и возраста. Представить cookie, как массив из двух элементов

    Выполнение:Рис. 9.3. Создание массива из разных cookiewhile(list($name,$value)=each($_COOKIE)){ $array[0]=”Иван”; $array[1]=”23″; } foreach($array as $val){ echo “значение=”.$val.”

    “; }Результат:Данное задание также можно выполнить при помощи ассоциативного массива:

    Выполнение:while(list($name,$value)=each($_COOKIE)){ $array[“Иван”]=23; } foreach($array as $k=>$val){ echo “индекс= “.$k.” значение=”.$val.”

    “; }Результат:

    Задание:

    Создать массив данных для хранения паролей. Значения паролей сохранить в cookie. В html-код добавить текстовые поля, выводить в них значения паролей.

    Рис. 9.4. Удаление cookie

    Задание 9_3: удалить cookie из задания 9_1 и повторно обновить браузер.

    Лабораторная работа 9_1:

    Создать файл cookie.php.

    Задача:

  • При первом запросе страницы cookie.php пользователем, выводить фразу «Добро пожаловать!»
  • При повторных запросах:

  • Выводить количество посещений. Например: «Вы зашли на страницу 5 раз»
  • Указывать дату и время последнего посещения. Например: «Последнее посещение: 20-08-2009 16:34:45»
  • date('d/m/Y   H:i:s')

    Алгоритм выполнения:

    1. Инициализируйте переменную для подсчета количества посещений
    2. Если соответствующие данные передавались через куки, сохраняйте их в эту

      переменную
    3. Нарастите счетчик посещений
    4. Инициализируйте переменную для хранения значения последнего посещения

      страницы
    5. Если соответствующие данные передавались из куки, отфильтруйте их и сохраните в эту переменную
    6. Установите соответствующие куки (для счетчика и для даты)
    7. Выводите информацию о количестве посещений и дате последнего посещения

    Результат:

    Cookie: создание и параметры

    При повторных запросах: date(‘d/m/Y H:i:s’)Алгоритм выполнения:

  • Инициализируйте переменную для подсчета количества посещений
  • Если соответствующие данные передавались через куки, сохраняйте их в эту

    переменную
  • Нарастите счетчик посещений
  • Инициализируйте переменную для хранения значения последнего посещения

    страницы
  • Если соответствующие данные передавались из куки, отфильтруйте их и сохраните в эту переменную
  • Установите соответствующие куки (для счетчика и для даты)
  • Выводите информацию о количестве посещений и дате последнего посещения
  • Результат:

    Cookie: создание и параметры

    Cookie: создание и параметры

    Cookie: создание и параметры

    Задание 9_4:

    • Создать файл header.php с заголовком второго уровня «Здравствуйте!». При помощи директивы header отображать данную страницу в текстовом формате.
    • Использовать на этой же странице директиву для перехода через 5 секунд на какую-либо другую страницу.
  • Создать файл header.php с заголовком второго уровня «Здравствуйте!». При помощи директивы header отображать данную страницу в текстовом формате.
  • Использовать на этой же странице директиву для перехода через 5 секунд на какую-либо другую страницу.
  • md5(string) — функция шифрования для хранения зашифрованных (хэшированных) данных в базе данных

    md5(string) — функция шифрования для хранения зашифрованных (хэшированных) данных в базе данныхCookie: создание и параметры

    Методы передачи данных форм в php

    На уроке рассмотрены методы передачи данных форм GET и POST

    Содержание:

  • Методы передачи данных форм в php
    • Использование методов GET и POST
    • Суперглобальные переменные
    • Итерации по массиву $_Request
  • Функции для обработки данных формы
  • Использование методов GET и POST
  • Суперглобальные переменные
  • Итерации по массиву $_Request
  • Атрибуты тега FORM

    Get – данные из формы передаются на сайт, указанный в поле адреса браузера, с помощью знака «?» и «&»

    Get – данные из формы передаются на сайт, указанный в поле адреса браузера, с помощью знака «?» и «&»Использование метода GET

    POST — используется для передачи больших объемов данных или когда нужно скрыть значения передаваемых параметров

  • Переданные сценарию параметры не отображаются в окне браузера
  • POST — используется для передачи больших объемов данных или когда нужно скрыть значения передаваемых параметровПри передачи данных формы на сервер формируются суперглобальные переменные — ассоциативные массивы, содержащие передаваемые значения:

  • $_GET[] — ассоциативный массив, который содержит все значения, передаваемые в сценарий с помощью метода формы GET.
  • $_POST[] – ассоциативный массив, который содержит все значения, передаваемые в сценарий с помощью метода формы POST.
  • $_REQUEST[] – ассоциативный массив, который содержит все значение, передаваемые в сценарий с помощью методов POST и GET.
  • Рассмотрим пример использования метода GET

    Пример: В файле index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод GET)

    Выполнение:

    Файл index.html

    Имя



    Фамилия



    E-mail



    Файл answer.php Ваше имя” . $_GET[‘Firstname’]; echo ”

    Ваша фамилия” . $_GET[‘Lastname’]; echo ”

    Ваш электронный адрес” . $_GET[’email’]; ?>Рассмотрим вариант безопасной обработки данных: Ваше имя” .$firstname;} ?>Безопасная обработка данныхРассмотрим тот же самый пример с использованием метода POST

    Пример: В файле index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод POST)

    Выполнение:

    Файл index.html

    Имя



    Фамилия



    E-mail



    Файл answer.php Ваше имя” . $_POST[‘Firstname’]; echo ”

    Ваша фамилия” . $_POST[‘Lastname’]; echo ”

    Ваш электронный адрес” . $_POST[’email’]; ?>

    Пример: В файле index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод REQUEST)

    Выполнение:

    Файл index.html

    Имя



    Фамилия



    E-mail



    Файл answer.php $value) { echo $key; echo “: ” .$value; echo ”

    “; } ?>Формируемый при передачи массив имеет вид:

  • is_string(string) – определяет, является ли переменная string строкой. Возвращает значение true или false.
  • is_int(string) или is_integer(string) – определяет, является ли переменная string целым числом. Возвращает значение true или false.
  • is_numeric(string) – определяет, является ли переменная string числовой строкой. Возвращает значение true или false.
  • is_double(string) или is_float(string) – определяет, является ли переменная string числом с плавающей точкой. Возвращает значение true или false
  • Лабораторная работа 8_1:

    Проверить:

    • был ли отправлен запрос при щелчке на кнопке
    • были ли поля заполнены цифрами, а не другими символами

    Алгоритм выполнения:

    • Создайте файл calculator.php
    • Для построения формы воспользуйтесь конструкцией:
    • echo $_SERVER['PHP_SELF']; ?>" method="post">
    • Проверьте, была ли корректно отправлена форма (ф-ция isset ())
    • Если она была отправлена, отфильтруйте полученные значения (is_numeric)
    • В зависимости от оператора производите различные математические действия
    • В случае деления, проверьте, делитель на равенство с нулем (на ноль делить нельзя)
    • Сохраните полученный результат вычисления в переменной
    • Если результат существует, выведите его.
    Методы передачи данных форм в php

    Ожидаемый результат

  • был ли отправлен запрос при щелчке на кнопке
  • были ли поля заполнены цифрами, а не другими символами
  • Алгоритм выполнения:

  • Создайте файл calculator.php
  • Для построения формы воспользуйтесь конструкцией:
  •  echo $_SERVER['PHP_SELF']; ?>" method="post">
  • Проверьте, была ли корректно отправлена форма (ф-ция isset ())
  • Если она была отправлена, отфильтруйте полученные значения (is_numeric)
  • В зависимости от оператора производите различные математические действия
  • В случае деления, проверьте, делитель на равенство с нулем (на ноль делить нельзя)
  • Сохраните полученный результат вычисления в переменной
  • Если результат существует, выведите его.
  • ” method=”post”>Ожидаемый результат

    Лабораторная работа 8_2 (сложный вариант):

    Написать интерфейс, который позволял бы создавать html-формы. Пользователь выбирает, какие элементы и в каком количестве нужно создать, придумывает им названия, а программа сама генерирует требуемую форму.

    • выбор типов элементов ввода и их количества (task_form.html);
    • Методы передачи данных форм в php

    • создание названий элементов ввода (ask_names.php);
    • Методы передачи данных форм в php

    • обработка полученных данных, т.е. непосредственно генерация формы (task.php).
    • Результат:

  • выбор типов элементов ввода и их количества (task_form.html);
  • Методы передачи данных форм в php

  • создание названий элементов ввода (ask_names.php);
  • Методы передачи данных форм в php

  • обработка полученных данных, т.е. непосредственно генерация формы (task.php).
  • Результат:

    Методы передачи данных форм в phpМетоды передачи данных форм в phpРезультат:

    ask_names.php:

    Методы передачи данных форм в php

    При создании двух элементов типа «текстовая строка» и одного элемента типа «текстовая область» получим (рис. 8). Введем в эту форму, например, строки «Название», «Автор» и «Краткое содержание». Эти данные будет обрабатывать скрипт task.php.

    Методы передачи данных форм в php

    рис. 8. Промежуточные результаты

    рис. 8. Промежуточные результатыTask.php:

    Методы передачи данных форм в php

    Методы передачи данных форм в phpРезультатом работы скрипта с входными данными, приведенными выше, будет следующая форма:

    Лабораторная работа 8_3 (легкий вариант):

    Средствами PHP разработать простой валютный калькулятор, который конвертирует различные валюты в рубли (см. рисунок). Форму калькулятора и скрипт обработки поместить в один файл, используя функцию:

     echo $_SERVER['PHP_SELF'];?>">

    Валютный калькулятор на php

    “>

    Валютный калькулятор на php

    Валютный калькулятор на php

    Лабораторная работа 8_4:

    Заменить фреймовую структуру с меню, на работу с одним файлом php.

    1. Откройте файл в котором формируется меню.
    2. Измените значения всех элементов массива на index.php
    3. Добавьте к значению "index.php" параметр id, передаваемый методом GET
    4. Добавьте к параметру id уникальные значения.
    5. ПРИМЕР:

      index.php?id=page1
    6. Заключите все ссылки в тег form с параметром action =
    7. action=" echo $_SERVER['PHP_SELF']; ?>"
    8. Откройте файл с таблицей общей структуры сайта. Переименуйте его в index.php
    9. Создайте переменную id
    10. Присвойте переменной id значение параметра id переданного при запросе методом GET
    11. Создайте несколько html-страниц с шаблонным текстом (1.html, 2.html, 3.html)
    12. В файле index.php с помощью конструкции switch, в зависимости от значения переменной id, выводите содержимое области основного контента страницы в ячейку для контента. (если page1, то загружаем 1.html, если page2, — загружаем 2.html и т.д.)
    13. Результат:

      Методы передачи данных форм в php

  • Откройте файл в котором формируется меню.
  • Измените значения всех элементов массива на index.php
  • Добавьте к значению "index.php" параметр id, передаваемый методом GET
  • Добавьте к параметру id уникальные значения.
  • ПРИМЕР:

    index.php?id=page1
  • Заключите все ссылки в тег form с параметром action =
  • action=" echo $_SERVER['PHP_SELF']; ?>"
  • Откройте файл с таблицей общей структуры сайта. Переименуйте его в index.php
  • Создайте переменную id
  • Присвойте переменной id значение параметра id переданного при запросе методом GET
  • Создайте несколько html-страниц с шаблонным текстом (1.html, 2.html, 3.html)
  • В файле index.php с помощью конструкции switch, в зависимости от значения переменной id, выводите содержимое области основного контента страницы в ячейку для контента. (если page1, то загружаем 1.html, если page2, — загружаем 2.html и т.д.)
  • Результат:

    Методы передачи данных форм в php ПРИМЕР:index.php?id=page1action=”Результат:

    Методы передачи данных форм в php

    Функции подключения контента файлов php

    На уроке рассмотрены функции эмуляции SSI в php или подключения контента файлов

    Существует две функции для подключения контента файлов:

    include() и ее модификация include_once()

    и

    requre() с модификацией requre_once()

    • Функции подключают и выполняют код файла.
    • Когда файл подключается, его код наследует ту же область видимости переменных, что и строка, на которой произошло подключение. Т.е. переменные, доступные на этой строке во включающем файле, будут доступны и во включаемом файле.
    • Чтобы не проверять, был ли уже файл включен ранее, рекомендуется использовать include_once.
    • В случае возникновения ошибки при подключении include лишь выдаст предупреждение, но продолжит работу скрипта. Тогда как require остановит выполнение скрипта.

    Существует две функции для подключения контента файлов:

    include() и ее модификация include_once()

    и

    requre() с модификацией requre_once()

  • Функции подключают и выполняют код файла.
  • Когда файл подключается, его код наследует ту же область видимости переменных, что и строка, на которой произошло подключение. Т.е. переменные, доступные на этой строке во включающем файле, будут доступны и во включаемом файле.
  • Чтобы не проверять, был ли уже файл включен ранее, рекомендуется использовать include_once.
  • В случае возникновения ошибки при подключении include лишь выдаст предупреждение, но продолжит работу скрипта. Тогда как require остановит выполнение скрипта.
  • Рис. 7.1. Функции подключения контента файлов

    Пример: В файле data.php записаны значения двух переменных. В файле index.php вычислить и вывести сумму данных значений:

    Выполнение:

    Файл data.php:Файл index.php:

    Лабораторная работа:

    • Создайте файл index.php.
    • Нарисуйте в нем таблицу с областями для заголовка, меню и контента.
    • В область меню подключите файл с отрисовкой меню, переименовав его в menu.inc.php
    • В область контента подключите файл, отрисовывающий таблицу умножения, переименовав его в lib.inc.php
    • Создайте файл с отображением заголовка и назовите его top.inc.php. Подключите файл в область заголовка.
    • Создайте файл с отображением «подвала» и назовите его bottom.inc.php. Подключите файл в нижнюю область.

    Рис. 7.2. Вид таблицы

  • Создайте файл index.php.
  • Нарисуйте в нем таблицу с областями для заголовка, меню и контента.
  • В область меню подключите файл с отрисовкой меню, переименовав его в menu.inc.php
  • В область контента подключите файл, отрисовывающий таблицу умножения, переименовав его в lib.inc.php
  • Создайте файл с отображением заголовка и назовите его top.inc.php. Подключите файл в область заголовка.
  • Создайте файл с отображением «подвала» и назовите его bottom.inc.php. Подключите файл в нижнюю область.
  • Рис. 7.2. Вид таблицы

    Рис. 7.2. Вид таблицы

    Функции даты и функции времени php

    На уроке рассмотрены функции языка php для работы с датой и временем: date(), getdate(), time(), mktime()

    Содержание:

    • Функции даты и функции времени php
      • Функция date в php
      • Функция time и mktime в php
  • Использование функций даты и времени
      • Функция getdate в php
  • Функции даты и функции времени php
    • Функция date в php
    • Функция time и mktime в php
  • Функция date в php
  • Функция time и mktime в php
    • Функция getdate в php
  • Функция getdate в php
  • Функции даты и времени в PHP позволяют получить дату и время с сервера, с которого запускается сценарий.Рассмотрим основные функции даты и функции времени php.

    date($format);

    date($format);Данная функция возвращает строку в виде даты и/или времени в указанном формате ($format). Шаблон формата указывается в качестве аргумента функции.Рассмотрим варианты символов, которые распознаются в параметре формат:Пример:// выведет день недели в формате: Saturday echo date(“l”); // выведет дату в формате 2017-01-28 echo date(‘Y-m-d’); // выведет дату и время в формате: Saturday 8th of August 2016 06:13:44 PM echo date(‘l jS of F Y h:i:s A’);

    time — возвращает количество секунд, прошедших с начала Эпохи Unix (c 1 января 1970 00:00:00 GMT) до текущего времени

    time — возвращает количество секунд, прошедших с начала Эпохи Unix (c 1 января 1970 00:00:00 GMT) до текущего времениФункция не предназначена для вывода результата в виде даты или времени, а используется совместно с другими функциями.

    Пример использования функции в «чистом виде»:$now = time(); // метка текущей даты echo $now; // выведет что-то типа 1485618140 $nextWeek = time() + (7 * 24 * 60 * 60); // 7 дней; 24 часа; 60 минут; 60 секунд echo $nextWeek; // выведет что-то типа 1486222940Функция используется совместно с функцией date():

    Пример: вывести текущую дату (два способа) и затем дату, которая должна быть ровно через неделю

    Выполнение:$now = time(); $nextWeek = time() + (7 * 24 * 60 * 60); // Сейчас: 2017-01-28 echo ‘Сейчас: ‘. date(‘Y-m-d’) .”n”; // Сейчас: 2017-01-28 echo ‘Сейчас: ‘. date(‘Y-m-d’, $now) .”n”; // Следующая неделя: 2017-02-04 echo ‘Следующая неделя: ‘. date(‘Y-m-d’, $nextWeek) .”n”;Функция используется совместно с функцией mktime:

    mktime — возвращает метку времени Unix для указанной даты

    mktime — возвращает метку времени Unix для указанной датыАргументы:Аргументы могут быть опущены в порядке справа налево.Рис. 6.1. Использование функции mktime и date

    Пример: вывести на экран текущие полную дату и время, затем дату и время завтрашнего дня, следующего месяца того же дня и той же даты прошлого года

    Выполнение://Вывод текущей даты и времени echo date(“r”); //Sat, 28 Jan 2017 19:58:45 +0400 // создаем метку для “завтра” $tomorrow = mktime(0,0,0,date(“m”),date(“d”)+1, date(“Y”)); echo date(“r”, $tomorrow); // Sun, 29 Jan 2017 00:00:00 +0400 // создаем метку для “следующий месяц” $nextmonth = mktime(0,0,0,date(“m”)+1,date(“d”), date(“Y”)); echo date(“r”, $nextmonth ); //Tue, 28 Feb 2017 00:00:00 +0400 // создаем метку для “прошлый год” $lastyear= mktime(0,0,0,date(“m”)+1,date(“d”), date(“Y”)-1); echo date(“r”, $lastyear); //Sun, 28 Feb 2016 00:00:00 +0400

    Задание php 6_1:

    Задание 1

    1. Создайте строковую переменную now
    2. Создайте строковую переменную birthday
    3. Присвойте переменной now значение метки времени актуальной даты (сегодня)
    4. Присвойте переменной birthday значение метки времени Вашего дня рождения

    Задание 2

    1. Выведите фразу «До моего дня рождения осталось «
    2. Выведите количество секунд, оставшееся до Вашего дня рождения
    3. Закончите фразу » секунд»

    Дополните код:

    1 

    Использование функций даты и времени

     

    Лабораторная работа:

    Часики

    1. Создайте строковую переменную now.
    2. Присвойте переменной now значение метки времени актуальной даты (сегодня).
    3. Создайте переменную $H и присвойте ей значение часов, выделенных из значения переменной $now.
    4. Создайте переменную $i и присвойте ей значение минут, выделенных из значения переменной $now.
    5. Показывать текущее время в виде: … часов…мин . Изменять окончание слова часов/часа/час в зависимости от кол-ва часов и минут.

    Напоминание:

    Time() – возвращает текущее время

    Date(format,время) – возвращает время, заданного вторым параметром в указанном формате:

    • Часы – H
    • Минуты – i

    Задание 1

  • Создайте строковую переменную now
  • Создайте строковую переменную birthday
  • Присвойте переменной now значение метки времени актуальной даты (сегодня)
  • Присвойте переменной birthday значение метки времени Вашего дня рождения
  • Задание 2

  • Выведите фразу «До моего дня рождения осталось «
  • Выведите количество секунд, оставшееся до Вашего дня рождения
  • Закончите фразу » секунд»
  • Дополните код: 

  • Создайте строковую переменную now.
  • Присвойте переменной now значение метки времени актуальной даты (сегодня).
  • Создайте переменную $H и присвойте ей значение часов, выделенных из значения переменной $now.
  • Создайте переменную $i и присвойте ей значение минут, выделенных из значения переменной $now.
  • Показывать текущее время в виде: … часов…мин . Изменять окончание слова часов/часа/час в зависимости от кол-ва часов и минут.
  • Напоминание:

    Time() – возвращает текущее время

    Date(format,время) – возвращает время, заданного вторым параметром в указанном формате:

  • Часы – H
  • Минуты – i
  • Функция getdate возвращает информацию о дате и/или времени

    getdate ([$timemetka])
    • Возвращается ассоциативный массив с информацией о параметре timemetka, который представляет собой метку времени.
    • Если параметр не использовать, то будет взято текущее локальное время.

    Функция getdate возвращает информацию о дате и/или времениgetdate ([$timemetka])

  • Возвращается ассоциативный массив с информацией о параметре timemetka, который представляет собой метку времени.
  • Если параметр не использовать, то будет взято текущее локальное время.
  • Индексы ассоциативного массива:

    Пример: вывести подробные сведения о текущей дате в формате массива

    Выполнение:$today = getdate(); print_r($today);Результат:

    Встроенные php функции

    На уроке будут рассмотрены функции языка php: встроенные функции и php пользовательские функции

    Содержание:

  • Встроенные php функции
  • PHP пользовательские функции
    • Создание функции php с аргументами
    • Передача аргументов по ссылке
    • Аргументы по умолчанию
  • Возвращение значений функцией, Return
  • Создание функции php с аргументами
  • Передача аргументов по ссылке
  • Аргументы по умолчанию
  • Функция — фрагмент кода программы, который можно выполнять многократно в любом месте данной программы.Все функции языка PHP подразделяются на:

  • встроенные
  • пользовательские
  • Встроенные функции — это предусмотренные синтаксисом языка конструкции, выполняющие конкретные действия. Примером могут служить рассмотренные ранее функции echo() и print().Кроме того, есть функции для работы с изображениями, функции обработки строк, для работы с датами и временем, а также для работы с базами данных. Некоторые из них будут рассмотрены в последующих уроках.Что необходимо знать про любые функции:

  • после названия функции всегда ставятся круглые скобки (могут быть пустые или с аргументами функции внутри, перечисленными через запятые);
  • функция может принимать информацию из программы через список аргументов, разделенных запятыми (аргументы читаются слева направо);
  • если в функцию передаются аргументы не того типа, на который она «рассчитывает» (например string вместо array), то будет выдаваться либо NULL либо ошибка;
  • для вызова функции достаточно написать ее имя и список фактических аргументов в круглых скобках.
  • Рис. 5.1. Пример использования встроенных функций phpПользовательские функции — те, которые не предусмотрены синтаксисом языка, а созданы пользователем в целях решения поставленной задачи.

    Пример: создать функцию без аргументов, которая выводит на экран приветствие

    Решение:// описание функции function sayHello(){ echo “Привет!

    “; } // вызов функции sayHello(); // проверка существования функции if (function_exists(“sayHello”)) { echo “есть”; }Результат:

  • Внутри функции может быть любая последовательность операторов и даже описание другой функции.
  • Все функции имеют глобальную область видимости, это значит, что они могут быть вызваны в любом месте программы, даже если были определены внутри функции и наоборот.
  • Рассмотрим пример:

    Пример: создать первую функцию, внутри которой описать вторую функцию

    Выполнение:function function1() { echo “

    Первая функция

    “; function function2() { echo “

    Вторая функция

    “; } } function1(); function2();Результат:Пример иллюстрирует, что средства php не позволяют создавать локальных функций, т.е. которые будут «видны» только в определенных местах кода программы. В нашем случае function2() должна быть локальной, т.е. область ее видимости — только функция function1(). Вызывая локальную функцию из общей программы, должна выдаваться ошибка. Но в php данный механизм отсутствует, и ошибки нет. Таким образом обе функции в примере глобальные. Рассмотрим синтаксис функции с аргументами на примере

    Пример: создать функцию, которая выводит на экран приветствие с именем, передаваемым в качестве аргумента (например, Привет, Вася!)

    Решение:// описание функции function sayHello($name){ echo “Привет, $name!

    “; } // вызов функции вариант 1 sayHello(“Вася”); // вызов функции вариант 2 $name=”Вася”; sayHello($name); // вызов функции вариант 3 $myFunc=”sayHello”; // здесь круглые скобки не нужны! $myFunc(“Вася”);Все три способа вызова функции равнозначны.

    Задание php 5_1: Написать функцию с двумя аргументами, возвращающую результат возведения числа в степень.

    Примечание: степень в php вычисляется при помощи функции pow()

    pow ($a, $b); где $a — число, $b — степень

    Примечание: степень в php вычисляется при помощи функции pow()

    pow ($a, $b); где $a — число, $b — степень

    Традиционно аргументы в функцию передаются по значению, т.е. если значение аргумента изменить внутри самой функции, то в общей программе с этим аргументом ничего не произойдет, он останется прежним (внутри функции аргумент локален, т.е. «не виден» на уровне общей программы).

    Встроенные php функции

    Рис. 5.2. Локальные и глобальные переменные в php

    Но если необходимо сделать так, чтобы функция имела возможность изменять значения аргумента и на уровне программы (глобально), то необходимо передавать аргумент по ссылке. Это делается при помощи символа амперсанд &

    Встроенные php функции

    Рис. 5.3. Передача аргумента по ссылке

    Пример: передавать в функцию строковый аргумент по ссылке (&str='Просто строка'). Изменить в функции значение аргумента (прибавить к ней значение ‘и кое-что еще.’)

    Решение:Рис. 5.2. Локальные и глобальные переменные в phpРис. 5.3. Передача аргумента по ссылкеfunction add_str(&$str2) { $str2 .= ‘и кое-что еще.’; } $str1 = ‘Просто строка, ‘; add_str($str1); echo $str1; // выведет ‘Просто строка, и кое-что еще.’

    Лабораторная работа 1:

    Задание 1

    1. Опишите функцию getTable()
    2. Задайте для функции три аргумента: cols, rows, color

    Задание 2

    1. Скопируйте код, отрисовывающий таблицу умножения из лабораторной работы предыдущего урока
    2. Вставьте скопированный код в тело функции getTable()
    3. Измените код таким образом, чтобы таблица отрисовывалась в зависимости от входящих параметров cols, rows и color

    Задание 3

  • Отрисуйте таблицу умножения вызывая функцию getTable() с различными параметрами
  • Опишите функцию getTable()
  • Задайте для функции три аргумента: cols, rows, color
  • Задание 2

  • Скопируйте код, отрисовывающий таблицу умножения из лабораторной работы предыдущего урока
  • Вставьте скопированный код в тело функции getTable()
  • Измените код таким образом, чтобы таблица отрисовывалась в зависимости от входящих параметров cols, rows и color
  • Задание 3 В php в пользовательских функциях можно задавать значения по умолчанию для аргументов. Т.е. если в программе не передать значение аргумента, то аргумент примет то значение, которое установлено по умолчанию.

    Встроенные php функции

    Рис. 5.4. Значение по умолчанию

    Пример: создать функцию с аргументом для вывода приветствия. Установить значение по умолчанию для аргумента равное «Гость»

    Решение:Рис. 5.4. Значение по умолчаниюfunction sayHello($p,$name = “Гость”){ echo “$p, $name!

    “; } sayHello(“Привет”,”Вася”); // Привет, Вася! sayHello(“Здравствуйте”); // Здравствуйте, Гость! sayHello(“Привет”,null); // Привет, !

    Важно: аргументы, для которых определены значения по умолчанию, должны находиться правее аргументов, для которых значения по умолчанию не установлены
    Задание php 5_2: откройте выполненную лабораторную работу этого урока. Продолжите выполнение задания:

    Задание 4

    1. Откройте предыдущее задание с отрисовкой таблицы в функции. Измените входящие параметры функции gettable() на параметры по умолчанию

    Задание 5

  • Отрисуйте таблицу умножения вызывая функцию getTable() без параметров
  • Отрисуйте таблицу умножения вызывая функцию getTable() с одним параметром
  • Отрисуйте таблицу умножения вызывая функцию getTable() с двумя параметрами
  • Откройте предыдущее задание с отрисовкой таблицы в функции. Измените входящие параметры функции gettable() на параметры по умолчанию
  • Задание 5 Функция может не только выполнять какие-то конкретные действия, выводя их значения на экран, она также может просто возвращать в программу какие-то вычисленные значения.Внутри такой функции используется оператор возврата return (с англ. «вернуть»), после которого указывается возвращаемое значение (или переменная, массив, выражение и т.п.)Вызов такой функции осуществляется либо через присваивание переменной, либо сразу через вывод на экран.

    Пример: описать функцию с двумя аргументами, возвращающую сумму данных аргументов

    Решение: function sum($a, $b) { return $a + $b; } // 1 вариант вызова echo sum(1, 2) ; // 2 вариант вызова $x=sum(1, 2); echo $x;

    Задание php 5_3: описать функцию с одним аргументом, возвращающую степень двойки. Степень передавать в качестве аргумента. Установить значение по умолчанию (=2) для аргумента

    Лабораторная работа 2:

    Задание 1

    1. Опишите функцию getMenu()
    2. Задайте для функции первый аргумент menu, в него будет передаваться массив, содержащий структуру меню
    3. Задайте для функции второй аргумент vertical со значением по умолчанию равным TRUE (логический тип данных — true-истина, false-ложь).

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

    Задание 2

    1. Откройте файл c лабораторной работой с отрисовкой меню
    2. Скопируйте код, который создает массив menu и вставьте скопированный код в данный документ
    3. Скопируйте код, который отрисовывает меню
    4. Вставьте скопированный код в тело функции getMenu()
    5. Измените код таким образом, чтобы меню отрисовывалась в зависимости от входящих параметров menu и vertical

    Задание 3

    1. Отрисуйте вертикальное меню вызывая функцию getMenu() с одним параметром
    2. Отрисуйте горизонтальное меню вызывая функцию getMenu() со вторым параметром равным FALSE
    3. Сохраните код в отдельном файле

    Задание 1

  • Опишите функцию getMenu()
  • Задайте для функции первый аргумент menu, в него будет передаваться массив, содержащий структуру меню
  • Задайте для функции второй аргумент vertical со значением по умолчанию равным TRUE (логический тип данных — true-истина, false-ложь).
  • Данный параметр указывает, каким образом будет отрисовано меню — вертикально или горизонтально Задание 2

  • Откройте файл c лабораторной работой с отрисовкой меню
  • Скопируйте код, который создает массив menu и вставьте скопированный код в данный документ
  • Скопируйте код, который отрисовывает меню
  • Вставьте скопированный код в тело функции getMenu()
  • Измените код таким образом, чтобы меню отрисовывалась в зависимости от входящих параметров menu и vertical
  • Задание 3

  • Отрисуйте вертикальное меню вызывая функцию getMenu() с одним параметром
  • Отрисуйте горизонтальное меню вызывая функцию getMenu() со вторым параметром равным FALSE
  • Сохраните код в отдельном файле