МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
АЛМАТИНСКИЙ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ
Курсовая работа
Дисциплина:
WEB
-технологии
Тема: Информационно-обучающий сайт по ТОЭ/ТЭЦ
Выполнил:
ст. гр. БИС-07-2
Суворов К.
Приняла:
Ельчибаева Р. Б.
Алматы 2010
Содержание
1 Введение
2 Описание
3 Использованные технологии
4 ER – диаграмма базы данных
5 Список литературы
Введение
Сейчас очень бурно развиваются вебтехнологии в области образования. Эта задача может решаться, например, с помощью создания образовательно – обучающих сайтов. В связи с переходом на кредитную систему обучения, студентам очень мало времени остаётся на самостоятельное освоение сложных дисциплин. Именно поэтому я и решил создать образовательно – обучающий сайт по дисциплинам ТОЭ/ТЭЦ.
Из-за нехватки времени студент просто физически не успевает освоить данную дисциплину, а значит и выполнить все необходимые работы: лабораторные, расчетно-графические и курсовые работы. Это в свою очередь влечет за собой плохую оценку по дисциплине, а значит и дальнейшую неуспеваемость.
Перед созданием проекта были проанализированы схожие по тематике интернет ресурсы.
Использованные технологии
При создании сайта были использованы: PHP5, CSS, HTML, JAVASCRIPT.
HTML (HyperText Markup Language, язык разметки гипертекста):
HTML — это система верстки веб-страниц, которая определяет, какие элементы и как должны располагаться в документе. Чтобы показать, что мы имеем дело не с обычным текстовым документом, используется термин HTML-документ. Подобные документы открываются под управлением браузера.
HTML-документ - обычный текстовый файл, который может содержать в себе текст, теги и стили. Изображения и другие объекты хранятся отдельно. Содержимое такого файла обычно называется HTML-код.
Он достаточно прост для освоения. Нужно усвоить: html не является языком программирования, он предназначен для разметки текстовых документов (т.е. с помощью него мы размечаем текст, таблицы, картинки и т.д. на нашей странице).
Тег — это специальный символ разметки, который применяется для вставки различных элементов на веб-страницу таких как: рисунки, таблицы, ссылки и др. и для изменения их вида. Для обозначения тегов используется символ <тег>. Теги нечувствительны к регистру, поэтому запись <B> и <b> эквивалентна.
Обязательные теги:
<html>
<head>
</head>
<body>
</body>
</html>
<html>
Этот тэг должен открывать документ. Если есть открывающий тэг, то должен быть и закрывающий:
</html>
Например,
<html>
<head>
<meta content="text/html; charset=Windows-1251" http-equiv="content-type">
<title>Главная</title>
<link href="css.css" rel=stylesheet type="text/css">
<body>
…………
</body>
</html>
<head> </head> - головадокумента, всетэги, расположенныемеждуэтимитегамиэточто-товродеслужебнойинформации .Например <title>Главная</title> - заголовококнаброузера, <link href="css.css" rel=stylesheet type="text/css"> - подключениеккаскаднымстилямтаблицы (онихчутьниже).
<meta content="text/html; charset=Windows-1251" http-equiv="content-type"> мета-информацияслужитдляуказания:
а)техническойинформацииодокументе
б)информацииосодержаниидокумента
Тэги тела документа идентифицируют отображаемые в окне компоненты HTML-документа. Тело документа может содержать ссылки на другие документы, текст и другую форматированную информацию.
Тело документа должно находиться между тэгами <BODY> и </BODY>. Это та часть документа, которая отображается как текстовая и графическая (смысловая) информация документа.
Уровни заголовков <Hx>
Когда пишется HTML-документ, текст структурно делится на просто текст, заголовки частей текста, заголовки более высокого уровня и т.д. Первый уровень заголовков (самый большой) обозначается цифрой 1, следующий - 2, и т.д. Большинство броузеров поддерживает интерпретацию шести уровней заголовков, определяя каждому из них собственный стиль. Заголовки выше шестого уровня не являются стандартом и могут не поддерживаться броузером. Заголовок самого верхнего уровня имеет признак "1". Синтакс заголовка уровня 1 следующий:
<H1> Заголовок первого уровня </H1>
Тэг абзаца <P>
В отличии от большинства текстовых процессоров, в HTML-документе обычно игнорируются символы возврата каретки. Физический разрыв абзаца может находиться в любом месте исходного текста документа (для удобства его читаемости). Однако броузер разделяет абзацы только при наличии тэга <P>. Если вы не разделите абзацы тэгом <P>, ваш документ будет выглядеть как один большой абзац.
Дополнительные параметры тэга <P>:
<P ALIGN=left|center|right>
позволяют выравнивать абзац по левому краю, центру и правому краю соответственно.
Например,
<div class="table">
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top"><?php echo "$myrow[text]"; ?> </td>
</tr>
</table></td>
</div>
Разрыв строки <BR>
Тэг <BR> извещает броузер о разрыве строки. Наилучший пример использования данного тэга - форматированный адрес или любая другая последовательность строк, где броузер должен отображать их одну под другой. Например:
<br>На нашем сайте вы всегда сможете прочитать самые полезные и действенные уроки по ТОЭ/ТЕЦ.
URL
Обязательный параметр, имеющий такой же синтаксис, как и стандартный URL. Данный URL указывает браузеру где находится рисунок. Рисунок должен храниться в графическом формате, поддерживаемом броузером. На сегодняшний день форматы GIF и JPG поддерживаются большинством броузеров
ALT="text" Данный необязательный элемент задает текст, который будет отображен браузером, не поддерживающим отображение графики или с отключенной подкачкой изображений. Обычно, это короткое описание изображения, которое пользователь мог бы или сможет увидеть на экране. Если данный параметр отсутствует, то на месте рисунка большинство браузеров выводит пиктограмму (иконку), активизировав которую, пользователь может увидеть изображение. Тэг ALT рекомендуется, если ваши пользователи используют браузер, не поддерживающий графический режим, например Lynx.
HEIGTH=n1 Данный необязательный параметр используется для указания высоты рисунка в пикселах. Если данный параметр не указан, то используется оригинальная высота рисунка. Это параметр позволяет сжимать или растягивать изображения по вертикали, что позволяет более четко определять внешний вид документа. Однако, некоторые броузеры не поддерживают данный параметр. С другой стороны, экранное разрешение у вашего клиента может отличаться от вашего, поэтому будьте внимательны при задании абсолютной величины графического объекта.
WIDTH=n2 Параметр также необязателен, как и предыдущий. Позволяет задать абсолютную ширину рисунка в пикселах.
ALIGN Данный параметр используется, чтобы сообщить браузеру, куда поместить следующий блок текста. Это позволяет более строго задать расположение элементов на экране. Если данный параметр не используется, то большинство броузеров располагает изображение в левой части экрана, а текст справа от него.
VSPACE Позволяет установить размер в пикселах пустого пространства над и под рисунком, чтобы текст не наезжал на рисунок. Особенно это важно для динамически формируемых изображений, когда нельзя заранее увидеть документ.
HSPACE То же самое, что и VSPACE, но только по горизантали.
Приведем пример использования данного тэга:
<img src="files/1.jpg" width="200" height="207" title="Курсовая" hspace="5" vspace="5">
Фоновые рисунки
Большинство браузеров позволяет включать в документ фоновый рисунок, который будет матрицироваться и отображаться на фоне всего документа. Некоторые пользователи любят фоновую графику, некоторые нет. Ненавязчивый полупрозрачный рисунок (обои) обычно хорошо выглядит в качестве фона для большинства документов.
Описание фонового рисунка включается в тэг BODY и выглядит следующим образом:
<BODYBACKGROUND="bg.gif">
Горизонтальная линия
Используя тэг <HR> вы можете разделить текст горизонтальной чертой.
Форматтэга:
<HR SIZE=number WIDTH=number|percent ALIGN=left|right|center >:
<hrcolor=#ff5353 size="7">
Все формы начинаются тэгом <FORM> и звершаются тэгом </FORM>.
<FORM METHOD="get|post" ACTION="URL"> Элементы_формы_и_другие_элементы_HTML
</FORM>
METHOD Метод посылки сообщения с данными из формы. В зависимости от используемого метода вы можете посылать результаты ввода данных в форму двумя путями:
GET: Информация из формы добавляется в конец URL, который был указан в описании заголовка формы. Ваша CGI-программа (CGI-скрипт) получает данные из формы в виде параметра переменной среды QUERY_STRING. Использование метода GET не рекомендуется.
POST: Данный метод передает всю информацию о форме немедленно после обращения к указанному URL. Ваша CGI-программа получает данные из формы в стандартный поток ввода. Сервер не будет пересылать вам сообщение об окончании пересылки данных в стандартный поток ввода; вместо этого используется переменная среды
ACTION ACTION описывает URL, который будет вызываться для обработки формы. Данный URL почти всегда указывает на CGI-программу, обрабатывающую данную форм
INPUT
Тэг <INPUT> используется для ввода одной строки текста или одного слова. Атрибуты тэга:
CHECKED - означает, что CHECKBOX или RADIOBUTTON будет выбран.
MAXLENGTH - определяет количество символов, которое пользователи могут ввести в поле ввода. При превышении количества допустимых символов броузер реагирует на попытку ввода нового символа звуковым сигналом и не дает его ввести. Не путать с атрибутом SIZE. Если MAXLENGTH больше чем SIZE, то в поле осуществляется скроллинг. По умолчанию значение MAXLENGTH равно бесконечности.
NAME - имя поля ввода. Данное имя используется как уникальный идентификатор поля, по которому, впоследствии, вы сможете получить данные, помещенные пользователем в это поле.
SIZE - определяет визуальный размер поля ввода на экране в символах.
CHECKBOX
Используется для простых логических (BOOLEAN) значений. Значение, ассоциированное с именем данного поля, которое будет передаваться в вызываемую CGI-программу, может принимать значение ON или OFF.
HIDDEN
Поля данного типа не отображаются броузером и не дают пользователю изменять присвоенные данному полю по умолчанию значение. Это поле используетс для передачи в CGI-программу статической информации, как то ID прользователя, пароля или другой информации.
PASSWORD
То же самое, что и атрибут TEXT, но вводимое пользователем значение не отображается броузером на экране.
RADIO
Данный атрибут позволяет вводить одно значение из нескольких альтернатив. Для создания набора альтернатив вам необходимо создать несколько полей ввода с атрибутом TYPE="RADIO" с разными значениями атрибута VALUE, но с одинаковыми значениями атрибута NAME. В CGI-программу будет передано значение типа NAME=VALUE, причем VALUE примет значение атрибута VALUE того поля ввода, которое в данный момент будет выбрано (будет активным). При выборе одного из полей ввода типа RADIO все остальные поля данного типа с тем же именем (атрибут NAME) автоматически станут невыбранными на экране.
RESET
Данный тип обозначает кнопку, при нажатии которой все поля формы примут значения, описанные для них по умолчанию.
SUBMIT
Данный тип обозначает кнопку, при нажатии которой будет вызвана CGI-программа (или URL), описанная в заголовке формы. Атрибут VALUE может содержать строку, которая будет высвечена на кнопке.
TEXT
Данный тип поля ввода описывает однострочное поле ввода. Используйте атрибуты MAXLENGTH и SIZE для определения максимальной длинны вводимого значения в символах и размера отображаемого поля ввода на экране (по умолчанию принимается 20 символов).
VALUE - присваивает полю значение по умолчанию или значение, которое будет выбрано при использовании типа RADIO (для типа RADIO данный атрибут обязателен)
Таблицы в HTML организуются как набор столбцов и строк. Ячейки таблицы могут содержать любые HTML-элементы, такие, как заголовки, списки, абзацы, фигуры, графику, а также элементы форм.
<form action ="mail.php" method="POST" name="form1">
<br>ВведитеФИО:<br>
<input type="text" name="fio" >
<br>Введите email:<br>
<input type="text" name="email">
<br>Укажите тип доставки:<br>
<select name="delivery" size="1">
<option>Срочная
<option>Обычная
</select>
<br>Введите свой домашний адрес:<br>
<textarea name="address" rows="5" cols="30">
</textarea>
<br>
<br>Введите условие задачи:<br>
<textarea name="condition" rows="10" cols="30">
</textarea>
<br>
<input type="submit" value="Отправить">
</form>
Основныетэгитаблицы
Таблица: <TABLE>...</TABLE>
Это основные тэги, описывающие таблицу. Все элементы таблицы должны находиться внутри этих двух тэгов. По умолчанию таблица не имеет обрамления и разделителей. Обрамление добавляется атрибутом BORDER.
Строка таблицы: <TR>...</TR>
Количество строк таблицы определяется количеством встречающихся пар тэгов <TR>..</TR>. Строки могут иметь атрибуты ALIGN и VALIGN, которые описывают визуальное положение содержимого строк в таблице.
Ячейка таблицы: <TD>...</TD>
Описывает стандартную ячейку таблицы. Ячейка таблицы может быть описана только внутри строки таблицы. Каждая ячейка должна быть пронумерована номером колонки, для которой она описывается. Если в строке отсутствует одна или несколько ячеек для некоторых колонок, то браузер отображает пустую ячейку. Расположение данных в ячейке по умолчанию определяется атрибутами ALIGN = left и VALIGN = middle. Данное расположение может быть исправлено как на уровне описания строки, так и на уровне описания ячейки.
Основные атрибуты таблицы
BORDER Данный атрибут используется в тэге TABLE. Если данный атрибут присутствует, граница таблицы прорисовывается для всех ячеек и для таблицы в целом. BORDERможет принимать числовое значение, определяющее ширину границы, например BORDER=3.
ALIGN Если атрибут ALIGN присутствует внутри тэгов <CAPTION> и </CAPTION>, то он определяет положение подписи для таблицы (сверху или снизу). По умолчанию ALIGN=top.
Если атрибут ALIGN встречается внутри<TR>, <TH> или <TD>, он управляет положением данных в ячейках по горизонтали. Может принимать значения left (слева), right (справа) или center (по центру).
VALIGN Данный атрибут встречается внутри тэгов <TR>, <TH> и <TD>. Он определяет вертикальное размещение данных в ячейках. Может принимать значения top (вверху), bottom (внизу), middle (по середине) и baseline (все ячейки строки прижаты кверху).
COLSPAN Указывает, какое количество ячеек будет объединено по горизонтали для указанной ячейки. По умолчании - 1.
ROWSPAN Указывает, какое количество ячеек будет объединено по вертикали для указанной ячейки. По умолчании - 1.
CSS
Основным понятием CSS является стиль – т. е. набор правил оформления и форматирования, который может быть применен к различным элементам страницы.
CSS действует более удобным и экономичным способом. Для присвоения какому-либо элементу определенных характеристик надо всего один раз описать этот элемент и определить это описание как стиль, а в дальнейшем просто указывать, что элемент, который вы хотите оформить соответствующим образом, должен принять свойства стиля, описанного. Более того, вы можете сохранить описание стиля не в тексте вашей странички, а в отдельном файле – это позволит использовать описание стиля на любом количестве Web страниц. И еще одно, связанное с этим, преимущество – возможность изменить оформление любого количества страниц, исправив лишь описание стиля в одном (отдельном) файле.
Практическое освоение CSS
Для этого нужно создать обычный текстовый файл, описать с помощью языка CSS необходимые стили, разместить этот файл на Web-сервере, а в коде Web-страниц, которые будут использовать стили из этого файла, нужно будет сделать ссылку на него. Делается это с помощью тега <LINK>, располагающегося внутри тега <BODY>:
link href="css.css" rel=stylesheet type="text/css">
Первые два параметра этого тега являются зарезервированными именами, требующимися для того, чтобы сообщить браузеру, что на этой страничке будет использоваться CSS. Третий параметр – HREF= «URL» – указывает на файл, который содержит описания стилей. Этот параметр должен содержать либо относительный путь к файлу – в случае, если он находится на том же сервере, что и документ, из которого к нему обращаются – или полный URL («http://...») в случае, если файл стилей находится на другом сервере.
Пример описания стилей для подкласса «а», и заголовка 2 уровня:.
a{ font-family:Constantia, Monotype Corsiva;
padding:15px 30px;
font-size:15px;
text-align:left;
letter-spacing:1px;
word-spacing:3px;
font-stretch:wider;
text-align:justify;
color:#303030;
}h2{ font-family:Monotype Corsiva;
font-size:30px;
text-align:left;
letter-spacing:1px;
word-spacing:3px;
text-align:center;
color:#386c00;
font-family - ипользуется для указания шрифта или шрифтового семейства, которым будет отображаться элемент.
font-weight - определяет степень жирности шрифта с помощью трех параметров: lighter, bold, bolder
font-size - устанавливает размер шрифта. Параметр может указываться как в относительной (проценты), так и абсолютной величине (пункты, пикселы, сантиметры)
color - определяет цвет элемента
text-decoration - устанавливает эффекты оформления шрифта, такие, как подчеркивание или зачеркнутый текст
text-align - определяет выравнивание элемента.
word-spacing – определяет расстояние между словами
letter-spacing – определяет расстояние между буквами
PHP5 (Hypertext Preprocessor): один из наиболее популярных сценарных языков ввиду своей простоты, скорости выполнения, богатой функциональности и распространенности исходных кодов на основе лицензии PHP. Для работы программы на PHP не требуется описывать какие-либо переменные, используемые модули, и т.п. Любая программа может начинаться непосредственно с оператора PHP.
Программы PHP могут выполняться двумя способами: как сценарное приложение Web-сервером и как консольные программы. Поскольку, нашей задачей является программирование web-приложений, мы преимущественно будем рассматривать первый способ. Дело в том, что на PHP, как правило, используется сугубо для программирования приложений, связанных с Интернетом. Однако, PHP можно еще использовать в качестве интерпретатора командной строки, в основном в *nix-системах. При таком использовании PHP возможно решение следующих задач:
· создание приложений интерактивной командной строки;
· создание кросс-платформенных GUI приложений при помощи библиотеки PHP-GTK;
· автоматизация некоторых задач под Windows и Linux
Рассмотрим процесс выполнения php-сценария при обращении броузера к серверу. Итак, вначале броузер запрашивает страницу с расширением .php, после чего web-сервер пропускает программу через машину PHP и выдаёт результат в виде html-кода. Причем, если взять стандартную страницу HTML, изменить расширение на .php и пропустить её через машину PHP, последняя просто перешлёт её пользователю без изменений. Чтобы включить в этот файл команды PHP, необходимо заключить команды PHP в специальные теги:
<?php... ?> или <?...?>
Имена переменных начинаются с символа $, тип переменной объявлять не требуется. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки.
Инструкции завершаются точкой с запятой (;)
PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами может осуществляться автоматически (хотя и имеются возможности для явного преобразования типов).
К скалярным типам данных относятся
· целый тип (integer),
· вещественный тип данных (float, double),
· логический тип (boolean),
· строковый тип (string)
· специальный тип NULL.
К нескалярным типам относится
· «ресурс» (resource),
· массив (array)
· и объект (object).
Среди наиболее часто используемых возможностей PHP стоит отметить следующие:
· имеется большой набор функций для работы со строками;
· работа с регулярными выражениями PCRE.
· работа с базами данных, осуществляемая посредством модулей:
- php5-mysql для MySQL,
- php5-pgsql для PostgreSQL
- и др.
· для PHP разработаны средства шаблонирования веб-страниц, позволяющие эффективно разделить представление от модели, например Smarty;
· имеется библиотека для работы с графическими изображениями GD, позволяющая производить преобразования с графическими файлами, и создавать изображения «на лету».
Вот пример формы, которая передает эти пременные:
<form action ="mail.php" method="POST" name="form1">
<br>Введите ФИО:<br>
<input type="text" name="fio" >
<br>Введите email:<br>
<input type="text" name="email">
<br>Укажите тип доставки:<br>
<select name="delivery" size="1">
<option>Срочная
<option>Обычная
</select>
<br>Введите свой домашний адрес:<br>
<textarea name="address" rows="5" cols="30">
</textarea>
<br>
<br>Введите условие задачи:<br>
<textarea name="condition" rows="10" cols="30">
</textarea>
<br>
<input type="submit" value="Отправить">
</form>
Переменные от формы скрипту могут передаваться двумя методами, это: POST и GET.
К операторам выбора относят: условный оператор (if...else) и переключатель (switch). Синтаксис условного оператора: if(condition) statement 1 else statement 2
Условие condition может быть любым выражением. Если оно истинно, то выполняется оператор statement1. В противном случае выполняется оператор statement2. Допустима сокращенная форма записи условного оператора, в которой отсутствуют else и оператор statement2, напимер:
if (!empty($regis)){…}
else{…}
В данном проекте также использовалась возможность работы с базами данных:
MySQL – это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных.
MySQL отличатся хорошей скоростью работы, надежностью, гибкостью. Работа с ней, как правило, не вызывает больших трудностей. Поддержка сервера MySQL автоматически включается в поставку PHP.
Немаловажным фактором является ее бесплатность. MySQL распространяется на условиях общей лиценз
Структурированный язык запросов SQL позволяет производить различные операции с базами данных: создавать таблицы, помещать, обновлять и удалять из них данные, производить запросы из таблиц и т.д. Далее мы последовательно рассмотрим все эти операторы.
CREATE DATABASE
Эта команда создает новую базу данных:
CREATE DATABASE db_name;
Здесь db_name является именем создаваемой базы данных. Для того чтобы создать новую базу данных forum, наберите в строке-приглашении клиента MySQL mysql> эту команду и укажите название базы данных:
mysql> CREATE DATABASE forum;
CREATE TABLE
Команда CREATE TABLE создает новую таблицу в выбранной базе данных и которая в простейшем случае имеет следующий синтаксис:
CREATE TABLE table_name [(create_definition, ...)]
Здесь table_name - имя создаваемой таблицы
ALTER TABLE
Команда ALTER TABLE позволяет изменить структуру таблицы. Эта команда позволяет добавлять и удалять столбцы, создавать и уничтожать индексы, переименовывать столбцы и саму таблицу. Командаимеетследующийсинтаксис:
ALTER TABLE table_name alter_specDROP TABLE
Команда DROP TABLE предназначена для удаления одной или нескольких таблиц:
DROP TABLE table_name [ ,table_name,...]
К примеру, для удаления таблицы forums нужно выполнить следующий SQL-запрос:
mysql> DROP TABLE forums;
DROP DATABASE
Команда DROP DATABASE удаляет базу данных со всеми таблицами входящими в её состав:
DROP DATABASE database_name
Удалим, например, базу данных forum:
mysql> DROP DATABASE forum;
INSERT INTO…VALUES
Команда INSERT…VALUES вставляет новые записи в существующую таблицу. Синтаксис команды:
INSERT INTO table_name VALUES (values,…)
После оператора VALUES в скобках через запятую перечисляются значения соответствующих полей таблицы в соответствии с их типами.
DELETE
DELETE FROM table_name [WHERE definition]
Команда DELETE удаляет из таблицы table_name записи, удовлетворяющие заданным в definition условиям, и возвращает число удаленных записей.
Вот как можно удалить все записи из таблицы authors:
mysql> DELETE FROM authors;
Важной частью запросов DELETE, UPDATE и SELECT является оператор WHERE, который позволяет задать условия для выбора записей, на которые будут действовать эти команды. Следующий запрос удаляет из таблицы посетителя, первичный ключ для которого равен 1:
mysql> DELETE FROM authors WHERE id_author = 1;
Условия отбора могут быть значительно сложнее, так в листинге 13.16 удаляются все авторы с паролем '123' и первичный ключ которых превышает 10:
mysql> DELETE FROM authors WHERE passw = '123' AND id_author > 10;
Оператор AND является логическим "и". В запросах можно так же применять логическое или "или".
SELECT
Команда SELECT предназначена для извлечения строк данных из одной или нескольких таблиц и имеет в общем случае следующий синтаксис:
SELECT column,...[FROM table WHERE definition][ORDER BY col_name [ASC | DESC], ...][LIMIT [offset], rows]
Здесьcolumn - имявыбираемогостолбца. Можно указать несколько столбцов через запятую. Если необходимо выбрать все столбцы можно просто указать знак звёздочки *. Ключевое слово FROM указывает таблицу table из которой извлекаются записи. Ключевое слово WHERE определяет, так же как и в операторе DELETE определяет условия отбора строк. Ключевое слово ORDER BY сортирует строки запросов по столбцу col_name в прямом (ASC) или обратном порядке (DESC). Ключевое слово LIMIT сообщает MySQL об выводе только rows запросов начиная с позиции offset.
Для того чтобы посмотреть всю таблицу User_inf выполняется следующий запрос:
mysql> SELECT * FROM User_inf;Для подключения к php базы данных используются стандартные функцию php, как mysql_connect(), одновременно можно подключиться как к одной, так и к нескольким базам, в данном проекте реализуется работа с одной базой данных:
<?php
@mysql_connect("localhost","php","123456");
$sel=mysql_select_db("tec");
$sql="INSERT INTO User_inf(f_name,l_name,data_r,pol,mail) VALUES('".$sname."','".$name."','".$bdate."','".$pol."','".$mail."')";
$res=mysql_query($sql);
$sql="select id_user from User_inf";
$res=mysql_query($sql);
$n=mysql_num_rows($res);
$row=mysql_fetch_($res);
echo $row[$n];
$sql="INSERT INTO User_log(id_user,login,pass) VALUES('".$row[$n]."','".$login."','".$pas."')";
$res=mysql_query($sql);
$sql="INSERT INTO User_town(id_user,town) VALUES('".$row[$n]."','".$town."')";
$res=mysql_query($sql);
mysql_close();
}
}
?>
mysql_select_db – выборбазыданных
mysql_query – посылка запроса, содержание запроса может быть любым, и select и update, delete, insertinto.
На примере показан, insertinto запрос, то есть эта страница регистрации новых пользователей.
ER
–
базы данных
Исходные тексты страниц:
index.php
<?php
//запустилсессию
session_start();
include "blocks/db.php"; /*Соединяемсясбазой*/
$result = mysql_query("SELECT title, meta_d,meta_k,text FROM settings WHERE page='index'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo "$myrow[meta_d]" ?>">
<meta name="keywords" content=<?php echo "$myrow[meta_k]"; ?>"">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo "$myrow[title]" ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border" cellspacing="0" cellpadding="0">
<!--Подключаемшапкусайта-->
<?php include "blocks/header.php" ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top"><?php echo "$myrow[text]"; ?> </td>
</tr>
</table></td>
</tr>
<!--Подключаемнижнийграфическийэлемент-->
<?php include "blocks/footer.php" ?>
<tr></tr>
</table>
</body>
</html>
files.php
<?php
session_start();
include "blocks/db.php"; /*Соединяемсясбазой*/
$result = mysql_query("SELECT title, meta_d,meta_k,text FROM settings WHERE page='files'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="keywords" content="<?php echo $myrow['meta_k'] ?>">
<meta name="description" content="<?php echo $myrow['meta_d'] ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border" cellspacing="0" cellpadding="0">
<!--Подключаемшапкусайта-->
<?php include "blocks/header.php" ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top"><p><?php echo $myrow['text']; ?></p>
<p>
<?php
mysql_query("SET NAMES = 'cp1251'");
$result = mysql_query("SELECT id,title,meta_d,description,autor,date FROM files",$db);
$myrow = mysql_fetch_array($result);
//если есть файлы - то вывод таблички, иначе сообщение
if (!empty($myrow['id']))
do { printf ( "<table align='center' class='lessons'>
<tr>
<td class='lesson_title'><p class='lesson_name'><a href='view_file.php?id=%s'>%s</a></p>
<p class='lesson_adds'>Датадобавления: %s</p>
<p class='lesson_adds'>Авторфайла: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
/table><br><br>",$myrow["id"],$myrow["meta_d"],$myrow["date"],$myrow["autor"],$myrow["description"]);
}
while ($myrow = mysql_fetch_array($result));
else echo ("<p>На данный момент файлов нет!</p>");
?>
</p>
</td>
</tr>
</table></td>
</tr>
<!--Подключаем нижний графический элемент-->
<?php include "blocks/footer.php" ?>
<tr></tr>
</table>
</body>
</html>
view_file.php
<?php
include "blocks/db.php";
if(isset($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT * FROM files WHERE id=$id",$db);
$myrow = mysql_fetch_array($result);
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow['meta_d'] ?>">
<meta name="keywords" content="<?php echo $myrow['meta_k'] ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['meta_d']?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border" cellspacing="0" cellpadding="0">
<!--Подключаемшапкусайта-->
<?php include "blocks/header.php" ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top">
<p class="view_title"><?php echo "$myrow[meta_d]"; ?></p>
<p class="view_date">Датадобавления: <?php echo "$myrow[date]"; ?></p>
<p class="view_date">Автор: <?php echo "$myrow[autor]"; ?></p>
<p><?php echo "$myrow[description]"; ?></p>
<p>Ссылка на скачивание: <?php print <<<HERE
<a href="http://tec.kz/admin/files/$myrow[title]">$myrow[title]</a>
HERE;
?></p></td>
</tr>
</table></td>
</tr>
<!--Подключаем нижний графический элемент-->
<?php include "blocks/footer.php" ?>
<tr></tr>
</table>
</body>
</html>
lessons.php
<?php
session_start();
include "blocks/db.php";
$result = mysql_query("SELECT title,meta_k,meta_d,text FROM settings WHERE page='lessons'",$db);
$myrow = mysql_fetch_array($result);
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow['meta_d'] ?>">
<meta name="keywords" content="<?php echo $myrow['meta_k'] ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border" cellspacing="0" cellpadding="0">
<!--Подключаемшапкусайта-->
<?php include "blocks/header.php" ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top"><p><?php echo $myrow['text'] ?></p>
<?php $result = mysql_query("SELECT id,title,description,autor,date FROM lessons",$db);
$myrow = mysql_fetch_array($result);
do { printf ( "<table align='center' class='lessons'>
<tr>
<td class='lesson_title'><p class='lesson_name'><a href='view_lesson.php?id=%s'>%s</a></p>
<p class='lesson_adds'>Датадобавления: %s</p>
<p class='lesson_adds'>Авторурока: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["autor"],$myrow["description"]);
}
while ($myrow = mysql_fetch_array($result));
?>
<p> </p></td>
</tr>
</table></td>
</tr>
<!--Подключаем нижний графический элемент-->
<?php include "blocks/footer.php" ?>
<tr></tr>
</table>
</body>
</html>
view_lesson.php
<?php
include "blocks/db.php";
if(isset($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT * FROM lessons WHERE id=$id",$db);
$myrow = mysql_fetch_array($result);
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow['meta_d'] ?>">
<meta name="keywords" content="<?php echo $myrow['meta_k'] ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border" cellspacing="0" cellpadding="0">
<!--Подключаемшапкусайта-->
<?php include "blocks/header.php" ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top">
<p class="view_title"><?php echo "$myrow[title]"; ?></p>
<p class="view_date">Датадобавления: <?php echo "$myrow[date]"; ?></p>
<p class="view_date">Автор: <?php echo "$myrow[autor]"; ?></p>
<p><?php echo "$myrow[text]"; ?></p>
<p> </p></td>
</tr>
</table></td>
</tr>
<!--Подключаем нижний графический элемент-->
<?php include "blocks/footer.php" ?>
<tr></tr>
</table>
</body>
</html>
zakaz.php
<?php
//запустилсессию
session_start();
include "blocks/db.php"; /*Соединяемсясбазой*/
$result = mysql_query("SELECT title, meta_d,meta_k,text FROM settings WHERE page='zakaz'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo "$myrow[meta_d]" ?>">
<meta name="keywords" content=<?php echo "$myrow[meta_k]"; ?>"">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo "$myrow[title]" ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border" cellspacing="0" cellpadding="0">
<!--Подключаемшапкусайта-->
<?php include "blocks/header.php" ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top"><p>Ну а здесь Вы можете заказать необходимую работу по ТОЭ/ТЕЦ. Мы выполним и пришлем её за 1 день, если необходима срочная доставка или же за 3 дня :-)</p>
<p><form action ="mail.php" method="POST" name="form1">
<br>ВведитеФИО:<br>
<input type="text" name="fio" >
<br>Введите email:<br>
<input type="text" name="email">
<br>Укажите тип доставки:<br>
<select name="delivery" size="1">
<option>Срочная
<option>Обычная
</select>
<br>Введите свой домашний адрес:<br>
<textarea name="address" rows="5" cols="30">
</textarea>
<br>
<br>Введите условие задачи:<br>
<textarea name="condition" rows="10" cols="30">
</textarea>
<br>
<input type="submit" value="Отправить">
</form>
</p>
</td>
</tr>
</table></td>
</tr>
<!--Подключаем нижний графический элемент-->
<?php include "blocks/footer.php" ?>
<tr></tr>
</table>
</body>
</html>
contacts.php
<?php
session_start();
include "blocks/db.php";
$result = mysql_query("SELECT title,meta_d,meta_k,text FROM settings WHERE page='contacts'",$db);
$myrow = mysql_fetch_array($result);?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="keywords" content="<?php echo $myrow['meta_k'] ?>">
<meta name="description" content="<?php echo $myrow['meta_d'] ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title'] ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border" cellspacing="0" cellpadding="0">
<!--Подключаемшапкусайта-->
<?php include "blocks/header.php" ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include "blocks/lefttd.php" ?>
<td width="508" valign="top"><?php echo $myrow['text'] ?>
</td>
</tr>
</table></td>
</tr>
<!--Подключаемнижнийграфическийэлемент-->
<?php include "blocks/footer.php" ?>
<tr></tr>
</table>
</body>
</html>
Список использованной литературы:
1. Лаура_Томсон,Люк_Веллинг-Разработка_Web-приложений_на_РНР_и_MySQL 2003
2. А.Качанов-Букварь_по_PHP_MySQL
3. В.Дронов-PHP,MySQL_и_Dreamweaver_MX_2004
4. Энди_Харрис-PHP_и_MySQL_для_начинающих
5. Д.В.Котеров,А.Ф.Костарев - PHP5 в подлиннике
6. Д.Н.Колисниченко - Самоучитель PHP 5
7. Джон-Коггзолл-PHP5_Полное_руководство
8. К.Дари, Б.Бринзаре и др.- AJAX и PHP. разработка динамических приложений
9. М.Кузнецов-PHP5_практика_разработки_web-сайтов
10. А.А.Орлов-PHP_полезные_приемы
11. А.Кухарчик-PHP_обучение_на_примерах
12. А.Мазуркевич_Д.Еловой-PHP_Настольная_книга_программиста
13. Д.Котеров-РНР4
14. Д.С. Зольников - PHP 5
15. Джанет_Валейд-PHP_5_для_чайников
16. Джордж Шлосснейгл - Профессиональное программирование на PHP
17. Дон Джонс - Создание Web-сайтов на бесплатном движке PHP-NUKE
18. Л.Аргерих_и_др.-Профессиональное_РНР4_программирование_2-е издание
19. Ларри_Ульман-Основы_программирования_на_РНР
20. Михаил_Фленов-PHP_глазами_хакера
21. Стивен Хольцнер - PHP в примерах (Включая версию 6)
22. Энди_Гутманс,Стиг_Баккен,Дерик_Ретанс-PHP_5.Профессиональное_программирование