Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
arinira
0 / 0 / 0
Регистрация: 13.11.2011
Сообщений: 8
1

Помогите разобраться в задании!!!!

29.01.2012, 17:24. Просмотров 1022. Ответов 11
Метки нет (Все метки)

нужно вместо ********* вставить код, чтобы получилось как то так

Помогите разобраться в задании!!!!


правая таблица должна получиться, помогите!!!!!


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
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Страница классного журнала</title>
</head>
<body>
<h2>Страница классного журнала</h2>
<?php
function DayMonth($dt) {
//Преобразует строку yyyy-mm-dd -> dd/mm
//Используется функция substr, которая получает подстроку из строки
//Формат substr: (строка, начиная с, количество символов)
//Символы в строке индексируются с нуля
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");
//Запомним в массиве $students данные всех учеников
while ($arr=mysql_fetch_assoc($result)) $students[]=$arr;
$result=mysql_query("select lesson_id,lesson_date,subject,hometask
from lesson order by lesson_date");
//Запомним в массиве $lessons данные всех уроков
while ($arr=mysql_fetch_assoc($result)) $lessons[]=$arr;
//Выведем левую таблицу
echo "<table border='1' align='left'><tr>";
echo "<th>№</th><th>Фамилия, имя</th>";
//Выведем "шапку" таблицы -- даты уроков
foreach ($lessons as $lesson)
echo "<th>".DayMonth($lesson[‘lesson_date'])."</th>";
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");
//Если в таблице absence есть запись о пропуске -- поменяем значение $td
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=$td.$delimit.$grade[‘grade'];
$delimit="/";
}
}
//И, наконец, выведем, что у нас накопилось в $td
echo "<td align='center'>$td</td>";
}
echo "</tr>";
}
echo "</table>";
//Выведем правую таблицу
echo "<table border='1' bgcolor='#EEEEEE'>";
echo "<tr><th>Дата</th><th>Тема урока</th><th>Домашнее задание</th></tr>";
******* ********* ** ********
**** *********************************************************
****************************************************************
echo "</table>";
?>
</body>
</html>
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2012, 17:24
Ответы с готовыми решениями:

Помогите разобраться с mod_rewrite
Вот такой код: RewriteEngine on RewriteRule ^news /index.php?act=news Значит так. На...

Помогите новичку разобраться.
Решил изучать php с Видео-курса. но столкнулся с вопросами. По уроку: У нас есть post_max_size...

Помогите разобраться с htmlspecialchars
Помогите разобраться с htmlspecialchars. Переделываю плагин для wordpress ...

Помогите разобраться с ЧПУ
Здравствуйте. Мне нужна ваша помощь, суть в следующем: У меня есть .htaccess со следующим видом: ...

Помогите разобраться с запросами
Господа, прошу помощи, а точнее объясните разницу между 2-мя ниженаписанными запросами, 1-й...

11
Olesya_Zhukova
1 / 1 / 1
Регистрация: 01.05.2012
Сообщений: 12
01.05.2012, 14:47 2
Что сделать, чтобы хотя бы левая табличка выводилась?
0
Astatroth
21 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 93
01.05.2012, 15:18 3
Не понял,кому из вас отвечать, но все же:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//И, наконец, выведем, что у нас накопилось в $td
echo "<td align='center'>$td</td>";
}
echo "</tr>";
}
echo "</table>";
//Выведем правую таблицу
echo "<table border='1' bgcolor='#EEEEEE'>";
echo "<tr><th>Дата</th><th>Тема урока</th><th>Домашнее задание</th></tr>";
foreach ($lessons as $lesson)
{
    echo '<tr>
            <td>'.DayMonth($lesson['lesson_date']).'</td>
            <td>'.$lesson['subject'].'</td>
            <td>'.$lesson['hometask'].'</td>
        </tr>';
}
echo "</table>";
?>
1
Olesya_Zhukova
1 / 1 / 1
Регистрация: 01.05.2012
Сообщений: 12
01.05.2012, 15:38 4
ошибка syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expected ']' in ... on line 37
0
Astatroth
21 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 93
01.05.2012, 15:46 5
Цитата Сообщение от Olesya_Zhukova Посмотреть сообщение
ошибка syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expected ']' in ... on line 37
А что у вас в 37 строке?
0
Dimedrol
2375 / 938 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
01.05.2012, 15:48 6
Astatroth, чувствуется вот это:
PHP
1
$st_id=$student[‘student_id'];


Olesya_Zhukova, arinira, надо так:
PHP
1
$st_id=$student['student_id'];
0
Astatroth
21 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 93
01.05.2012, 15:52 7
Чтобы вас не мучать - полный код, замените только данные для соединения с БД на свои

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
<?php
function DayMonth($dt) {
//Преобразует строку yyyy-mm-dd -> dd/mm
//Используется функция substr, которая получает подстроку из строки
//Формат substr: (строка, начиная с, количество символов)
//Символы в строке индексируются с нуля
return substr($dt,8,2)."/".substr($dt,5,2);
}
$db = mysql_connect("localhost", *USERNAME*, *PASSWORD*);
mysql_select_db("page");
mysql_query("SET NAMES 'utf8'", $db);
mysql_query("SET CHARACTER SET utf8", $db);
mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $db);
$result=mysql_query("SELECT student_id, name, surname FROM student ORDER BY surname, name");
 
//Запомним в массиве $students данные всех учеников
while ($arr=mysql_fetch_assoc($result)) $students[]=$arr;
 
$result=mysql_query("SELECT lesson_id, lesson_date, subject, hometask FROM lesson ORDER BY lesson_date");
 
//Запомним в массиве $lessons данные всех уроков
while ($arr=mysql_fetch_assoc($result)) $lessons[]=$arr;
 
//Выведем левую таблицу
echo "<table border='1' align='left'><tr>";
echo "<th>№</th><th>Фамилия, имя</th>";
 
//Выведем "шапку" таблицы -- даты уроков
foreach ($lessons as $lesson)
echo "<th>".DayMonth($lesson['lesson_date'])."</th>";
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");
 
//Если в таблице absence есть запись о пропуске -- поменяем значение $td
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=$td.$delimit.$grade['grade'];
$delimit="/";
}
}
//И, наконец, выведем, что у нас накопилось в $td
echo "<td align='center'>$td</td>";
}
echo "</tr>";
}
echo "</table>";
//Выведем правую таблицу
echo "<table border='1' bgcolor='#EEEEEE'>";
echo "<tr><th>Дата</th><th>Тема урока</th><th>Домашнее задание</th></tr>";
foreach ($lessons as $lesson)
{
    echo '<tr>
            <td>'.DayMonth($lesson['lesson_date']).'</td>
            <td>'.$lesson['subject'].'</td>
            <td>'.$lesson['hometask'].'</td>
        </tr>';
}
echo "</table>";
?>

Не по теме:

интересно, где учат так БД проектировать?...

1
Olesya_Zhukova
1 / 1 / 1
Регистрация: 01.05.2012
Сообщений: 12
01.05.2012, 16:17 8
ошибка mysql_fetch_assoc(): supplied argument is not a valid MySQL result recource on line 17

Добавлено через 1 минуту
PHP
1
while ($arr=mysql_fetch_assoc($result)) $students[]=$arr;
0
Astatroth
21 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 93
01.05.2012, 16:19 9
Покажите содержимое таблицы student. Я создал у себя базу, забил тестовые данные от балды, и все прекрасно выбирается.
1
Olesya_Zhukova
1 / 1 / 1
Регистрация: 01.05.2012
Сообщений: 12
01.05.2012, 16:35 10
http://edu.1september.ru/files/courses/07/009/02.pdf стр 17-28
0
Astatroth
21 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 93
01.05.2012, 16:40 11
MySQL
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
113
114
115
116
117
118
-- phpMyAdmin SQL Dump
-- version 3.4.5
-- [url]http://www.phpmyadmin.net[/url]
--
-- Хост: localhost
-- Время создания: Май 01 2012 г., 14:19
-- Версия сервера: 5.5.16
-- Версия PHP: 5.3.8
 
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
 
--
-- База данных: `page`
--
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `absence`
--
 
DROP TABLE IF EXISTS `absence`;
CREATE TABLE IF NOT EXISTS `absence` (
  `student_id` int(3) unsigned NOT NULL,
  `lesson_id` int(3) unsigned NOT NULL,
  `value` tinyint(3) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `absence`
--
 
INSERT INTO `absence` (`student_id`, `lesson_id`, `value`) VALUES
(1, 1, 0),
(1, 1, 0),
(1, 2, 1),
(2, 1, 1),
(2, 1, 0);
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `grade`
--
 
DROP TABLE IF EXISTS `grade`;
CREATE TABLE IF NOT EXISTS `grade` (
  `student_id` int(3) unsigned NOT NULL,
  `lesson_id` int(3) unsigned NOT NULL,
  `grade` smallint(1) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `grade`
--
 
INSERT INTO `grade` (`student_id`, `lesson_id`, `grade`) VALUES
(1, 1, 0),
(1, 2, 5),
(2, 1, 3),
(2, 2, 2);
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `lesson`
--
 
DROP TABLE IF EXISTS `lesson`;
CREATE TABLE IF NOT EXISTS `lesson` (
  `lesson_id` int(3) unsigned NOT NULL,
  `lesson_date` varchar(12) NOT NULL,
  `subject` text NOT NULL,
  `hometask` text NOT NULL,
  PRIMARY KEY (`lesson_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `lesson`
--
 
INSERT INTO `lesson` (`lesson_id`, `lesson_date`, `subject`, `hometask`) VALUES
(1, '2012-04-30', 'Прницип работы синхрофазотрона', 'Параграф 100500, задания 1, 2, 3, 6'),
(2, '2012-05-01', 'В чем смысл жизни', 'Найти смысл жизни');
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `student`
--
 
DROP TABLE IF EXISTS `student`;
CREATE TABLE IF NOT EXISTS `student` (
  `student_id` int(3) unsigned NOT NULL,
  `name` varchar(30) NOT NULL,
  `surname` varchar(30) NOT NULL,
  PRIMARY KEY (`student_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `student`
--
 
INSERT INTO `student` (`student_id`, `name`, `surname`) VALUES
(1, 'Иван', 'Иванов'),
(2, 'Петр', 'Петров'),
(3, 'Сидор', 'Сидоров');
 
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Попробуйте залить в свою БД
0
Olesya_Zhukova
1 / 1 / 1
Регистрация: 01.05.2012
Сообщений: 12
01.05.2012, 18:10 12
хорошо, спасибо

Добавлено через 50 минут
Всё, спасибо, разобралась
0
01.05.2012, 18:10
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2012, 18:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Помогите разобраться с массивом
всем привет...помогите разобраться с массивом, соданного функцией scandir() скрапт должен...

Помогите разобраться с phpBB2 форумом.
Мужики! Второй раз обращаюсь к Вам за помощью. Скачал phpBB2 фри форум. Хммм... Открываю пхп...

Помогите разобраться в формах и переменных
Пожалуйста помогите!!!! У меня не возвращается значение переменной. &lt;html&gt; &lt;head&gt; &lt;meta...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.