Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 08.01.2013
Сообщений: 63

Классный журнал

01.02.2013, 08:12. Показов 4331. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с составлением страницы классного журнала

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Страница классного журнала</title>
</head>
<body>
<h2>Страница классного журнала</h2>
<?php
function DayMonth($dt) 
{
return substr($dt,8,2)."/".substr($dt,5,2);
}
mysql_connect("localhost", "webuser", "123456789");
mysql_select_db("page");
$result=mysql_query("select student_id,name,surname from student order by surname, name");
 
while ($arr=mysql_fetch_assoc($result)) $students[]=$arr;
$result=mysql_query("select lesson_id,lesson_date,predmet_id,subject,hometask from lesson order by lesson_date");
 
while ($arr=mysql_fetch_assoc($result)) $lessons[]=$arr;
 
echo "<table border='1' align='left'><tr align='center'>";
echo "<td>№</td><td>Фамилия, имя</td>";
error_reporting (0);
 
foreach ($lessons as $lesson)
echo "<td>".DayMonth($lesson['lesson_date'])."</td>";
echo "</tr>";
 
foreach ($students as $student) {
echo "<tr><td>".$student['student_id']."</td>";
echo "<td><i>".$student['surname']." ".$student['name']."</i></td>";
foreach ($lessons as $lesson) {
$st_id=$student['student_id'];
$l_id=$lesson['lesson_id'];
$td="&nbsp;";
$result=mysql_query("select * from absence where student_id='$st_id' and lesson_id='$l_id'");
 
if (mysql_fetch_assoc($result)) $td="н";
else {
$result=mysql_query("select grade from grade where student_id='$st_id' and lesson_id='$l_id'");
$delimit="";
while ($grade=mysql_fetch_assoc($result)) {
$td=$td.$delimit.$grade['grade'];
$delimit="/";
}}
 
echo "<td align='center'><input type='button' value='$td' onclick='document.location=\"cell.php?student_id=$st_id&lesson_id=$l_id\"'></td>";
}
echo "</tr>";
}
echo "</table>";
 
echo "<table border='1' bgcolor='#EEEEEE'>";
echo "<tr align='center'><td>Дата</td><td>Тема урока</td><td>Домашнее задание</td></tr>";
 
foreach ($lessons as $lesson)
echo "<tr><td>".DayMonth($lesson['lesson_date'])."</td><td>".$lesson['subject']."</td><td>".$lesson['hometask']."</td></tr>";
echo "</table>";
?>
</body>
</html>
PHP
1
echo "<td align='center'><input type='button' value='$td' onclick='document.location=\"cell.php?student_id=$st_id&lesson_id=$l_id\"'></td>";
эта кнопка отвечает за переход на другую страницу с передачей переменных вроде как, но новая страница не видит переданные переменные

Страница которая открывается после нажатия кнопки, в нее и передаются переменные
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php
//Соединимся с базой данных (имя и пароль мы задали в прошлой лекции)
mysql_connect("localhost", "webuser", "123456789");
mysql_select_db("page");
 
//В переменной $present могут быть переданы значения 0 или 1
// 0 -- ученик пропустил данный урок
// 1 -- ученик был на данном уроке
if (isset($present)) {
//Если ученик был на данном уроке,
//уберем отметку о пропуске из таблицы absence
if ($present) mysql_query("delete from absence where student_id=$student_id and lesson_id=$lesson_id");
else {
//Если же ученик пропустил урок...
// ... уберем все его оценки за данный урок из таблицы grade
mysql_query("delete from grade where student_id=$student_id and lesson_id=$lesson_id");
// ... добавим отметку о пропуске в таблицу absence
mysql_query("insert into absence set student_id=$student_id, lesson_id=$lesson_id");
}
}
if (isset($grade)) {
//Переменная $grade будет определена в том случае,
//если мы ставим ученику оценку за урок. В этом случае добавим
//новую запись в таблицу grade
mysql_query("insert into grade set grade=$grade, student_id=$student_id, lesson_id=$lesson_id");
}
//Переменная $delete будет определена в том случае,
//если мы удаляем оценку ученика за данный урок
if (isset($delete)) {
mysql_query("delete from grade where grade_id=$delete");
}
//Функция DayMonth использовалась в предыдущей лекции.
//Она преобразует вид даты к более привычному
function DayMonth($dt) {
return substr($dt,8,2)."/".substr($dt,5,2);
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Редактирование клеточки страницы классного журнала</title>
<style>
h1,h2 {color:gray;}
</style>
<script type="text/javascript">
//Функция check() используется в обработчике onsubmit для
//проверки допустимости оценки
function check() {
if ((document.forms["fgrade"].grade.value>="2")&&
(document.forms["fgrade"].grade.value<="5")) return true;
else {
alert("В качестве оценки допустимы только цифры от 2 до 5");
return false;
}
}
</script>
</head>
<body>
<h1>Редактирование клеточки страницы классного журнала</h1>
<?php
$result=mysql_query("select student_id,name,surname from student where student_id='$student_id'");
$student=mysql_fetch_assoc($result);
$result=mysql_query("select lesson_id,lesson_date,subject from lesson where lesson_id='$lesson_id'");
$lesson=mysql_fetch_assoc($result);
echo "<p>Ученик: <b>".$student_id['name']." ".$student_id['surname']."</b> (№ ".$student_id['student_id']." в журнале)";
echo "<p>Урок: <b>".DayMonth($lesson['lesson_date'])."</b> по теме <i>".$lesson['subject']."</i>";
?>
<h2>Был/не был</h2>
<?php
$result=mysql_query("select * from `absence` where `student_id`='$student_id' and `lesson_id`='$lesson_id'");
if (mysql_fetch_assoc($result)) {
$wasnt="checked";$was=""; //Эти переменные используются, чтобы
//отметить соответствующую радиокнопку
$grade_display="none"; //Эта переменная определяет видимость
//блока с оценками
} else {
$was="checked";$wasnt="";
$grade_display="block";
}
echo "<p><input type='radio' name='absence' value='0' $was onclick='document.location=\"cell.php?present=1&student_id=$student_id&lesson_id=$lesson_id\"'>
&nbsp;Был на уроке";
echo "<p><input type='radio' name='absence' value='0' $wasnt onclick='document.location=\"cell.php?present=0&student_id=$student_id&lesson_id=$lesson_id\"'>
&nbsp;Пропустил урок";
//Ниже -- блок с оценками. Он может быть виден или не виден
echo "<div id='grades' style='display:$grade_display'>";
?>
<h2>Оценки за урок</h2>
<form name="fgrade" action="cell.php" onsubmit="return check();">
<?php
//Два спрятанных поля, которые не видит пользователь
echo "<input type='hidden' name='student_id' value='$student_id'>";
echo "<input type='hidden' name='lesson_id' value='$lesson_id'>";
?>
<table border="1">
<?php
$result=mysql_query("select `grade_id`,`grade` from `grade` where `student_id`='$student_id' and `lesson_id`='$lesson_id'");
while ($grade=mysql_fetch_assoc($result)) {
echo "<tr>";
echo "<td>".$grade['grade']."</td><td><input type='button' value='Удалить' onclick='document.location=\"cell.php?delete=".$grade['grade_id']."&student_id=$student_id&lesson_id=$lesson_id\"'>
</td>";
echo "</tr>";
}
?>
<tr><td><input type='text' name='grade' size='2'></td><td>
<input type='submit' name='sent' value='Поставить'></td></tr>
</table >
</div>
<p><a href="edit.php">На страницу журнала</a>
</div>
</form>
</body>
</html>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2013, 08:12
Ответы с готовыми решениями:

Журнал событий
Здравствуйте, буду делать авторизация пользователей на основе сессий на PHP+SQL. Необходимо также вести журнал событий, то есть кто когда...

Электронный журнал и update
Здравствуйте, помогите пожалуйста, делаю электронный журнал оценок, нужно сделать так, чтобы препод после того как поставит оценку мог ее...

Online электронный журнал успеваемости
Создать ЭЖУ необходимо как веб-приложение. Проблема появилась в проектировании БД. Как правильно спроектировать? Журнал предназначен...

14
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
01.02.2013, 15:04
у вас не передается значения переменных? в форме form я не вижу метода. каким методом их передаете GET или POST? смотря какой метод установите, переменные также надо будет переименовать, например если установите метод POST, то $student_id на $POST_['student_id']
1
 Аватар для Василий Макогон
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
01.02.2013, 15:28
http://phpfaq.ru/globals
http://phpfaq.ru/debug
1
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
01.02.2013, 16:15
Цитата Сообщение от Sherzant Посмотреть сообщение
у вас не передается значения переменных? в форме form я не вижу метода. каким методом их передаете GET или POST? смотря какой метод установите, переменные также надо будет переименовать, например если установите метод POST, то $student_id на $POST_['student_id']
$_POST['student_id'] Наверно)
1
 Аватар для fa2m
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
01.02.2013, 22:08
Цитата Сообщение от Sherzant Посмотреть сообщение
у вас не передается значения переменных? в форме form я не вижу метода. каким методом их передаете GET или POST? смотря какой метод установите, переменные также надо будет переименовать, например если установите метод POST, то $student_id на $POST_['student_id']
По умолчанию (если не указано) данные передаются методом GET
1
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
04.02.2013, 13:11
Цитата Сообщение от M1lleniuM Посмотреть сообщение
$_POST['student_id'] Наверно)
ой, опечатка)) да именно так
0
1 / 1 / 0
Регистрация: 08.01.2013
Сообщений: 63
04.02.2013, 21:10  [ТС]
а можно на примере показать как это будет передаваться на одной странице и выбираться на другой, что то я не пойму как с глобальными работать
0
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
07.02.2013, 14:26
file.html
HTML5
1
2
3
4
<form action="file.php" method="post">
<input type="text" name="pole1">
<input type="submit" name="go" value="Go!">
</form>
file.php
PHP
1
2
3
<?
echo $_POST['pole1'];
?>
или же можно реализовать все в одном файле:
file.php
PHP
1
2
3
4
5
6
7
<form action="file.php" method="post">
<input type="text" name="pole1">
<input type="submit" name="go" value="Go!">
</form>
<?
if($_POST['go']) echo $_POST['pole1'];
?>
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
07.02.2013, 14:50
Цитата Сообщение от Sherzant Посмотреть сообщение
или же можно реализовать все в одном файле:
file.php
PHP
1
2
3
4
5
6
7
<form action="file.php" method="post">
<input type="text" name="pole1">
<input type="submit" name="go" value="Go!">
</form>
<?
if($_POST['go']) echo $_POST['pole1'];
?>
и чему вы учите
Notice: Undefined index: go
0
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
08.02.2013, 20:38
Цитата Сообщение от crautcher Посмотреть сообщение
и чему вы учите Notice: Undefined index: go
Тогда так:
PHP
1
2
3
4
5
6
7
8
<form action="index.php" method="post">
<input type="text" name="pole1">
<input type="submit" name="go" value="Go!">
</form>
<?
if(isset($_POST['go']))
   echo $_POST['pole1'];
?>
0
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
12.02.2013, 13:42
Цитата Сообщение от crautcher Посмотреть сообщение
и чему вы учите
не знаю какие у вас настройки, но у меня работает
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
12.02.2013, 13:50
Цитата Сообщение от Sherzant Посмотреть сообщение
не знаю какие у вас настройки, но у меня работает
ну конечно если отключил вывод ошибок себе то их видно не будет , включи показ ошибок
PHP
1
error_reporting(E_ALL);
0
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
12.02.2013, 13:54
ну добавь проверку isset )
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.02.2013, 14:00

Не по теме:

Цитата Сообщение от M1lleniuM Посмотреть сообщение
PHP
1
2
if(isset($_POST['go']))
* *echo $_POST['pole1'];
а если не существует $_POST['pole1'], но существует $_POST['go'] (например, CURL или просто в консоли поменять имя инпута) ? Если одно поле - то зачем вообще давать имя кнопке, и проверять нажатие кнопки, когда можно сразу проверять существование самого поля?


Цитата Сообщение от Sherzant Посмотреть сообщение
ну добавь проверку isset )
но раньше то Вы об этом не говорили
0
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
12.02.2013, 18:32
Цитата Сообщение от KOPOJI Посмотреть сообщение
а если не существует $_POST['pole1'], но существует $_POST['go'] (например, CURL или просто в консоли поменять имя инпута) ? Если одно поле - то зачем вообще давать имя кнопке, и проверять нажатие кнопки, когда можно сразу проверять существование самого поля?
Ну этого я не знал Теперь усвою Спасибо, что поправили!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2013, 18:32
Помогаю со студенческими работами здесь

Запись данных в БД (Журнал посещения админ панели)
Здравствуйте.Решил для админ панели сделать *Журнал посещения админ панели* , т.е когда человек проходит авторизацию site.ru/admin/login...

хороший журнал по PHP
Подскажите пожалуйста достойный аналог журналу http://phpinside.ru/ был интересный журнал, но быстро умер. Есть подобные проекты чтоб с...

Журнал. Отображение для других игроков
Здравствуйте. Есть такой вопрос: Вот у меня есть игра, там игроки. Они могут перемещаться по локациям и т.д. И вот допустим я игрок, и...

Классный журнал
привет всем! помогите плиз написать программу на паскале Классный журнал

Классный журнал класса
Помогите пожалуйста с создание классного журнала... что то не получается.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru