Продолжаем.
2.2.3 PHP, часть 3
Теперь функция dataTable: выводит таблицы с данными в зависимости от значения
GET запроса page.
Передаются ей значения page, роль пользователя ($role) и его логин
($user).
function dataTable($page = '', $role = 0, $user = '') {
require_once 'db.php';
$db = dbConnect();
$table = ''; // Создаётся переменная строки с таблицей.
switch ($page) // Условие с проверкой значения $page.
{
case 'lactors': // Если lactors (преподаватели)
$res = $db->query('select * from \lactors'); // Получение данных из
таблицы учителей.
$table = '<table border="1" style="border:1px solid #000;">'; //
Начало таблицы
foreach ($res as $key 😕> $value) // Перебор элементов таблицы.
{
$delete_button = ($role) ? '<td style="border:1px solid #000;"><a
href="/index.php?page=lactors&action=droplactor&lactor=' .
$value["login"] . '">Удалить</a></td>' : false; // Переменная, в
которую добавляется ссылка удаления, если пользователь имеет право на
это действие.
$table .= '<tr><td style="border:1px solid #000;">' .
$value['login'] . '</td>' . $delete_button . '</tr>'; // Вся
остальная строка таблицы: логин преподавателя.
}
$table .= '</table>'; // Завершение таблицы.
break;
case 'disciples': // Если учеников страница
$res = $db->query('select * from \disciples'); // Выбор данных.
$table = '<table border="1" style="border:1px solid #000;">';
foreach ($res as $key 😕> $value)
{
$delete_button = ($role) ? '<td style="border:1px solid #000;"><a
href="/index.php?page=disciples&action=dropdisciple&disciple=' .
$value["login"] . '">Удалить</a></td>' : false; // Также ссылка
удаления.
$table .= '<tr><td style="border:1px solid #000;">' .
$value['login'] . '</td>' . $delete_button . '</tr>'; // Также
строка таблицы с логином и переменной удаления.
}
$table .= '</table>';
break;
case 'lessons': // Предметы
$res = $db->query('select * from \lessons'); // Получение данных из
таблицы в БД.
$delete_button = ($role) ? '<td style="border:1px solid #000;"><a
href="#">Удалить</a></td>' : false;
$table = '<table border="1" style="border:1px solid #000;">';
foreach ($res as $key 😕> $value)
{
$delete_button = ($role) ? '<td style="border:1px solid #000;"><a
onClick="return confirm(\'Удалить урок и все его разделы?\')"
href="/index.php?page=lessons&action=droplesson&lesson=' .
$value["name"] . '">Удалить</a></td>' : false;
$table .= '<tr><td style="border:1px solid #000;">' .
$value['name'] . '</td><td style="border:1px solid #000;">' .
$value['lactors'] . '</td>' . $delete_button . '</tr>'; // Строка
таблицы: название, список преподавателей (2 столбца), а также, если
пользователь имеет доступ, ссылка удалить.
}
$table .= '</table>';
break;
case 'assessments': // Оценки
$res = $db->query('select * from \assessments');
$table = '<table border="1" style="border:1px solid #000;">';
foreach ($res as $key 😕> $value)
{
$table .= '<tr><td style="border:1px solid #000;">' .
$value['date'] . '</td><td style="border:1px solid #000;">' .
$value['lesson'] . '</td><td style="border:1px solid #000;">' .
$value['disciple'] . '</td><td style="border:1px solid #000;">' .
$value['assessment'] . '</td></tr>'; // Строка с датой, предметом,
учеником и оценкой.
}
$table .= '</table>';
break;
case 'lesson_topics': // темы предметов.
$res = $db->query('select * from \lesson_topics');
$table = '<table border="1" style="border:1px solid #000;">';
foreach ($res as $key 😕> $value)
{
$table .= '<tr><td style="border:1px solid #000;">' .
$value['date'] . '</td><td style="border:1px solid #000;">' .
$value['lesson'] . '</td><td style="border:1px solid #000;">' .
$value['topics'] . '</td></tr>'; // Дата, предмет и тема.
}
$table .= '</table>';
break;
default:
}
return $table; // Возвращает строку с таблицей.
}
функция checkRole: выясняет роль пользователя.
function checkRole($login = false, $role = 0) {
// 0 – учен
ик
// 1 – преподаватель
$json_conf = file_get_contents( '../config.json' ); // Подключение
данных JSON файла конфига.
$config = json_decode($json_conf, JSON_OBJECT_AS_ARRAY); //
Преобразование в массив.
require_once 'db.php';
$db = dbConnect();
$sql = 'select * from \lactors\ where \login\ = "' . $login . '"';
// SQL запрос к таблице преподавателей с поиском текущего логина.
$res = $db→query($sql); // // Получение результата.
if (isset($res->rowCount) || trim($login) == $config["metodist"])
$role = 1; // Если найден логин в таблице преподавателей или логин есть
в конфиге в опции metodist, $role равен 1.
return $role; // Возвращает номер роли.
}
6. index.php
Только отличия.
1. Подключение файла functions с передачей в переменную возвращаемого
значения функции homePage:
<?php require 'functions.php';
$page = homePage();
?>
В тайтле и h1 не $pagename, а $page:
<title><?= $page; ?> | Электронный журнал с использованием
технологии Блокчейн</title>
Контентный блок main с классом content пустой, т. к. в него приходят
данные по ajax:
<main class="content">
</main><!-- .content -->
4. js код в этом файле отличается. Добавляется функция отправки ajax в
первых двух условиях (Когда есть данные в localStorage или в
sessionStorage):
ajaxSend(viz_login); // Вызываем функцию отправки Ajax и передаём
ей логин.
Всё
Благодарю за внимание. С вами был незрячий автор, программист и делегат @denis-skripnik. До встречи в новых постах.
Здравствуйте, @denis-skripnik. Вы получили 100% апвот от UPRomo за сожженные GBG. Продвигали сей пост в очереди: @denis-skripnik.
Сервис прибавил к вашему посту примерно 122.126 GBG.
Инструкция по сжиганию для продвижения или задвигания постов.
Соглашение об использовании UPRomo.
Делегируйте СГ сервису UPRomo и способствуйте уменьшению количества GBG, что поможет выйти из кризиса, возобновить GBG и восстановить его цену, равную 1 МГ золота.
@denis-skripnik, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующей категории:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, dobryj.kit, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
boddhisattva, midnight, sterh, kudesnikaltay, optimist, anykeycheg, zaria, alexfisher, olga-olga, wallyt, student61, vp-cosmos, zlata777, volv, olgaxx, katherina, lilia, semitsvetik, shal891, verdon, denispavlov, apnigrich, chin, rosava, pkrugloff, bumex2008, virt, naiger, massatela, vitalist, cryptenthusiast, mixtrum, sevaev, marko44, denisya, vitalson, blange, goodnews, siddxa, jahspear, marigold, arhiopteriks, makcl, criptomir, astrofilosof, m0ssa99, evgeniy73, samael27, yurij12, egoryana, esperos, osra111, lvivrugby, felicita, atvalevsky, evgeniybb, andristrendnews, tapejara, seagull15, wenderccc, alte, erased
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Фонд БОД сделал репост.
Ваше творчество в ленте.
Наша лента в telegram.
:)
Вы являетесь участником проекта БОД, поэтому все ваши посты
размещаются в ленте репостов фонда. Если не желаете получать
апвот фонда и этот комментарий, ставьте тег nobod.