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

Подключение функции

27.01.2011, 14:55. Показов 1165. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Естьфайл который подключается в основной
grades_func.php
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
<?
function getGrdNm($gradecd){
    switch ($gradecd){
        case 0:
            $gradenm = '';
            break;
        case 2:
            $gradenm = 'Неудовлетворительно';
            break;
        case 3:
            $gradenm = 'Удовлетворительно';
            break;
        case 4:
            $gradenm = 'Хорошо';
            break;
        case 5:
            $gradenm = 'Отлично';
            break;
        case 6:
            $gradenm = 'Зачтено';
            break;
        case 7:
            $gradenm = 'Незачтено';
            break;
        case 8:
            $gradenm = 'Пропуск';
            break;
        default:
            $gradenm = '?!';
    }
    return $gradenm;
}
 
function getGrdNmShort($gradecd){
    switch ($gradecd){
        case 0:
            $gradenm = '';
            break;
        case 2:
            $gradenm = 'Неуд.';
            break;
        case 3:
            $gradenm = 'Уд.';
            break;
        case 4:
            $gradenm = 'Хор.';
            break;
        case 5:
            $gradenm = 'Отл.';
            break;
        case 6:
            $gradenm = 'Зач.';
            break;
        case 7:
            $gradenm = 'Незач.';
            break;
        case 8:
            $gradenm = 'Пропуск';
            break;
        default:
            $gradenm = '?!';
    }
    return $gradenm;
}
 
function getGrdTp($typecd){
    switch ($typecd){
    case 1:
        $type = '[COLOR="#0000ff"]Экзамен[/COLOR]';
        break;
    case 2:
        $type = 'Зачет';
        break;
    case 3:
        $type = 'Курсовая работа';
        break;
    case 4:
        $type = 'Дипломная работа';
        break;
    default:
        $type = '?!';
    }
    return $type;
}
?>
И основной, который выводит в эксель информацию об оценках за Экзамен
Вот собственно и основной файл:
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
<?
// старт сессии
session_start();
// путь забитый в переменную $phps_path
$phps_path = '../../phps/';
//подключение файлов; пути прописаны с помощью вышеуказанной переменной
include($phps_path.'check_session.php');
// конструкция с возвратом ???
if (checkSess('../', 'index.php', 1, 1) == 1) return ;
include($phps_path.'constants.php');
include($phps_path.'grades_func.php');
include($phps_path.'setup_dir.php');
include($phps_path.'categoryes.php');
include($phps_path.'setup_connect.php');
// коннект с БД
@mysql_pconnect($Connect_Host, $Connect_User, $Connect_Pwd) or die(CONST_C_ERR20);
include($phps_path.'setup_codepage.php');
 
//--v------------------------------ С о д е р ж а н и е    с п р а в к и -----------------------------------
 
///////////////////////////////////////////
// АКАДЕМИЧЕСКАЯ УСПЕВАЕМОСТЬ ГРУППЫ ... //
///////////////////////////////////////////
 
function getErrMsg(&$r, $flag = True){
    $rc = 0;
    $err = '';
    if ($r == ''):
        $err = CONST_C_ERR1.'<h2 class="err2">'.CONST_C_ERR14.'</h2>';
    else:
        $rc = mysql_numrows($r);
        if ($rc == 0):
            $err = CONST_C_ERR15;
        endif;
    endif;
    if ($rc == 0):
        if ($flag):
            print $err;
        endif;
    endif;
    return $rc;
}
// переменная $group получает параметр 'id'
$group = $_REQUEST['id'];
 
//определить ID студента, для которого в итоговой ведомости будет максимальное
//количество полей по учебным дисциплинам
// переменная $Q, запрос
// выбрать 
$Q = 
    "SELECT iStID,cGrNm,count(*) as iCnt 
     FROM 
        (SELECT DISTINCT gr.iStID,eg.cGrNm,gr.iDiscCd 
         FROM 
            ".$_SESSION['DB_NAME'].".tblstudgrade as gr,
            ".$_SESSION['DB_NAME'].".tblstudents as st,
            dbrefs.tbledugroup as eg 
         WHERE 
            gr.iStID=st.iStID and 
            st.iGrCd=eg.iGrCd and 
            st.iGrCd=".$group.") as Q1 
     GROUP BY 1,2 
     ORDER BY 3 DESC 
     LIMIT 1";
 
$r = mysql_query($Q);
if (getErrMsg($r) == 0){
    return;
}
$stid = mysql_result($r, 0, 'iStID');
$groupnm = mysql_result($r, 0, 'cGrNm');
mysql_freeresult($r);
 
//создать массивы кодов и сокращенных наименований дисциплин, которые
//будут использованы для формирования шапки таблицы сводной ведомости
 
$Q = 
    "SELECT DISTINCT gr.iDiscCd,ed.cShortNm 
     FROM 
        ".$_SESSION['DB_NAME'].".tblstudents as st,
        ".$_SESSION['DB_NAME'].".tblstudgrade as gr,
        dbrefs.tbldiscip as ed 
     WHERE 
        st.iStID=".$stid." and 
        st.iStID=gr.iStID and 
        ed.iDiscCd=gr.iDiscCd 
     ORDER BY iCourse,iSemes";
 
$r = mysql_query($Q);
$rc = getErrMsg($r);
if ($rc == 0):
    return;
endif;
$arr_cd[0] = -1;
$arr_cd[1] = -1;
$arr_cd[2] = -1;
$arr_cd[3] = -1;
 
 
$arr_nm[0] = '№ п.п.';
$arr_nm[1] = 'Фамилия';
$arr_nm[2] = 'Имя, отчество';
$arr_nm[3] = 'Телефон';
 
 
for ($i = 0; $i <= $rc - 1; $i++){
    $j = $i + 4;
    $arr_cd[$j] = mysql_result($r, $i, 'iDiscCd');
    $arr_nm[$j] = mysql_result($r, $i, 'cShortNm').' '.'оценка за экзамен';
    
    
 
}
mysql_freeresult($r);
 
//получить массив оценок для каждого студента
 
$Q = 
 
    "SELECT DISTINCT iStID,cFam,cHomePh,concat(cName,' ',cPrnt) as cNmPrnt 
     FROM ".$_SESSION['DB_NAME'].".tblstudents 
     WHERE iGrCd=".$group." and ".verCateg(7, '')."=1 
     ORDER BY cFam,cName,cPrnt,cHomePh";
 
$r = mysql_query($Q);
$rc = getErrMsg($r);
if ($rc == 0):
    return;
endif;
$stcnt = $rc - 1;
 
for ($i = 0; $i <= $stcnt; $i++){
    $arr_gr[$i][0] = mysql_result($r, $i, 'iStID');
    $arr_gr[$i][1] = mysql_result($r, $i, 'cFam');
    $arr_gr[$i][2] = mysql_result($r, $i, 'cNmPrnt');
    $arr_gr[$i][3] = mysql_result($r, $i, 'cHomePh');
}
mysql_freeresult($r);
// истина где то рядом...
 
for ($i = 0; $i <= $stcnt; $i++){
    
    $Q = 
        "SELECT DISTINCT gr.iDiscCd,cShortNm,iGradeCd 
         FROM 
            ".$_SESSION['DB_NAME'].".tblstudgrade as gr,
            dbrefs.tbldiscip as ed 
         WHERE 
            gr.iStID=".$arr_gr[$i][0]." and 
            gr.iDiscCd=ed.iDiscCd 
         ORDER BY iCourse,iSemes";
    
    $r = mysql_query($Q);
    $rc = getErrMsg($r, False);
 
    if ($rc):
        for ($k = 0; $k <= $rc - 1; $k++):
            $curcd = mysql_result($r, $k, 'iDiscCd');
            if (!array_search($curcd, $arr_cd)):
                $arr_cd[] = $curcd;
                $arr_nm[] = mysql_result($r, $k, 'cShortNm' );
                $m = count($arr_cd) - 1;
            else:
                $m = array_search($curcd, $arr_cd);
            endif;
            $arr_gr[$i][$m] = getGrdNm(mysql_result($r, $k, 'iGradeCd'));
        endfor;
        mysql_freeresult($r);
    endif;
    
    $arr_gr[$i][0] = $i + 1;
}
 
//вывод информации в текстовый файл с разделителями
 
$n = $i;
$m = count($arr_nm) - 1;
 
$s = '';
for ($i = 0; $i <= $m; $i++){
 
    $s = $s.'"'.$arr_nm[$i].'";';
    
}
$s = substr($s, 0, strlen($s) - 1)."\n";
 
$fnshort = $_SESSION['USER_PWD'].'.csv';
 
$fn = $SETUP_TMP_SAVE_DIR.$fnshort;
 
$h = fopen($fn, 'w');
 
fwrite($h, $s);
 
for ($i = 0; $i <= $n - 1; $i++):
    $s = '';
    for ($j = 0; $j <= count($arr_nm) - 1; $j++):
        if (!isset($arr_gr[$i][$j])):
            $cur = '';
        else:
            $cur = '"'.$arr_gr[$i][$j].'"';
        endif;
        $s = $s.$cur.';';
    endfor;
    $s = substr($s, 0, strlen($s) - 1)."\n";
    fwrite($h, $s);
endfor;
// закрывает соединение с $h
fclose($h);
unset($arr_cd);
unset($arr_nm);
unset($arr_gr);
unset($name1);
 
//--^------------------------------ С о д е р ж а н и е    с п р а в к и -----------------------------------
include('inc/docbegin.inc');
include('../nojscript.inc');
?>
 
<!--v------------------------------ С о д е р ж а н и е    с п р а в к и ----------------------------------->
 
<table align="center" width="50%"><tr><td valign="middle">
 
<h1 style="color:black">Академическая успеваемость группы <?=$groupnm?></h1><br>
 
<table align="left">
<tr>
    <td>
    Для скачивания файла <font color="red">с информацией по экзаменам</font> перейдите по <a href="https://www.cyberforum.ru/../<?=$SETUP_TMP_SAVE_DIR_SHORT.$fnshort?>" title="Файл с результатами">ссылке</a>.<br><br>
 
 
 
    </td>
</tr>
</table></td></tr></table>
Я не могу понять где в основном файле идёт привязка к первому на то, что оценки за экзамен,
и как вывести оценки за Курсовую работу, можно ли что то и на что изменить для этого в коде?!

Добавлено через 33 минуты
Никто не знает что ли?!(((
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.01.2011, 14:55
Ответы с готовыми решениями:

Функции и подключение к БД
Есть файл connect.php с подключением к базе данных: $connect = mysqli_connect(HOSTNAME_DB, USERNAME_DB, PASSWORD_DB, DATABASE); И...

SQLSTATE[HY000] [2002] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
На странице выводит такое SQLSTATE Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. а в...

Подключение функции
У меня в отдельном файле встроенна функция. Я этот файл подключил еще в двух файлах, так как мне ее нужно использовать несколько раз. При...

4
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
27.01.2011, 15:24
PHP
1
include($phps_path.'grades_func.php');
- привязка к основному файлу.
там нужно дописать проверку и выборку для того чтобы выбрать оценки за курсовую.
0
5 / 0 / 1
Регистрация: 18.01.2011
Сообщений: 39
27.01.2011, 15:35  [ТС]
Я вот не пойму каким образом выводятся именно оценки за экзамен, и
где отображено что вывод оценок именно за экзамен...

Добавлено через 3 минуты
Или ещё лучше, что изменить во втором файле, что бы выводились оценки за курсовую?!
0
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
27.01.2011, 19:37
во втором файле ничего не нужно изменять. Вам нужно найти в каком файле вызывается функция getGrdTp и изменить параметр какой в нее передается на 3.
0
5 / 0 / 1
Регистрация: 18.01.2011
Сообщений: 39
28.01.2011, 14:25  [ТС]
В этом то и беда, не могу найти этот файл, видимо все-таки тут все оценки подряд...
По ходу надо переписывать

Добавлено через 38 минут
Возможно ли во втором файле прикрутить функцию getGrdTp,
что бы выводились оценки за курсовую?!

Добавлено через 4 часа 38 минут
Все, разобрался...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2011, 14:25
Помогаю со студенческими работами здесь

Подключение модуля функции
Вечер добрый ребят, помогите пожалуйста подключить модуль функции чтобы работали функции S(x), Y(x) сижу мучаюсь не знаю как подключить и...

Подключение выбранной функции из библиотеки
Можно подключить одну функцию из библиотеки, не подключаю всю библиотеку?

Шифр Цезаря. Подключение функции
Добрый день. Прошу вас помочь с исполнительной кнопкой В программе два memo в memo1 вводится предложение которое нужно зашифровать ...

Подключение M-функции к основной программе
Здравствуйте. У меня есть M-функция, которая находит сумму всех элементов одномерного массива, стоящих на нечетных местах: ...

Подключение функции сортировки к структуре
Подготовил функцию сортировки для структуры, но не могу её подключить. Подскажите пожалуйста, как правильно подключается функция сортировки...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. На мобильном - сканируйте QR-код. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru