logo search
Сопровождение учебного процесса ПК БГТУ

2.6 Организация интерфейса хранения данных

Любая программа, преобразующая информацию, должна уметь также и сохранять ее. Веб-сервис сохраняет информацию в БД при следующих операциях:

1) Добавление новости

2) Добавление замены

3) Регистрация пользователя

Сохранение информации в БД производится по средствам выполнения SQL запросов. Для добавления записей в таблицы служит запрос SELECT.

Добавление производится следующих функциях:

Функция добавления новости function AddNew () {

Прежде всего пришедшие в скрипт POST-параметры переносятся из суперглобального массива $_POST в локальные переменные

$new_title = $_POST [new_title];

$new_body = $_POST [new_body];

$new_date = date ("Y. m. d");

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

if ($new_title == "" || $new_body == "") echo "<center>Вы заполнили не все поля</center>"; else {

В противном случае отправляется SQL запрос

if (mysql_query ("INSERT INTO news (id, title, news_text, date) VALUES (, $new_title, $new_body, $new_date)"))

echo "<center>Новость успешно добавлена. </center>";

else

echo "<center>Новость не доабвлена, свяжитесь с администратором. </center>";

}

}

Функция добавление замен администратором

function AddReplacement () {

Перед добавлением замен очищаем таблицу с устаревшими заменами

mysql_query ("TRUNCATE TABLE replacement");

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

$groups = $_POST [group];

$n_pari = $_POST [n_pari];

$predmet = $_POST [predmet];

$z_predmet = $_POST [z_predmet];

После чего формируем запрос

$q = "INSERT INTO replacement (id, group_id, n_pari, predmet, z_predmet) VALUES ";

В цикле перебираем значения массива и подставляем их в SQL запрос

foreach ($groups as $key => $value) {

$q. = " (,". $groups [$key].",". $n_pari [$key].", ". $predmet [$key]. ", ". $z_predmet [$key]. "), ";

}

$q. = "#";

$q = str_replace (", #", "", $q);

if (mysql_query ($q)) echo "<center>Замены успешно добавлены</center>"; else echo "<center>Замены не были добавлены</center>";

Mailing ();

}

А также на странице reg. php производится добавление новых пользователей в базу данных.

$login = $_POST [login];

$pswd = md5 ($_POST [pswd]);

$fio = $_POST [FIO];

$group = $_POST [group];

$email = $_POST [email];

$icq = $_POST [icq];

$showcontact = $_POST [showcontact];

Если пользователь согласен на рассылку новостей, учитываем это при формировании запроса

if ($showcontact == "on")

$showcontact = 1; else $showcontact = 0;

Затем отправляем запрос

if (mysql_query ("INSERT INTO users (id, login, pswd, FIO, email, showcontant, icq, st_group) VALUES (, $login, $pswd, $fio, $email, $showcontact, $icq, $group)")) {

echo "Вы успешно зарегестрированы. Перейти на <a href="/">главную страницу</a>";

}

Определение действий производимых в модулях выполняется комбинирование GET параметров, передаваемых через адресную строку браузера.

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