[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Задача - Перевод студентов на следующий курс
mkosyakv
Всем привет, возникла проблема при решении вроде простой задачи.
Есть база данных студентов с различной информацие
(форма обучения, номер группы, ФИО и прочее),
так вот при наступлении нового учебного года их всех нужно перевести на курс выше (к примеру была группа ИС-301 стала ИС-401),
перевод должен осуществлятся по определенным условиям:
обычный перевод, условный, не переводится из-за долгов или вобще ушел в академ отпуск...

Выглядит это все примерно так:
Есть форма в которой выбираешь форму обучения,
и все студенты с данной формой обучения выгружаются в таблицу,
в которой дальше нужно выбрать условия перевода,
и нажать кнопочку перевод студентов, и они соответсвенно должны перевестись.
user posted image

Мы попытались все это осуществить при помощи глобального массова
и селектов с индивидальными иминами
которые связаны с элементами массива, элементы массива это номера зачеток студентов.
Основная проблема в том что при рефреше экрана глобальный массив теряет все свои данные,
и уж что только мы не перепробовали но ничерта не получастся.
Толи мы дураки и делаем все не так толи его знает уже что
(, это курсовой который нам назначили
(у остольных был выбор причем темы они сами придумывали),
а нам взяли и назначили,
скоро сдавать а мы уже месяц не можем сдвинуться с данной точки (((

Код программы скидываю весь, умоляю ЗНАТОКИ и ЭКСПЕРТЫ помогите, ПлиZZZZ

P.S. та часть программы где студенты должны непосредсвенно переводится она не доработана,
но эт не главное (ее написать легко), проблема в том что ошибка до этого модуля.

<?php
ini_set('display_errors',1);
error_reporting(E_ALL ^E_NOTICE);
//error_reporting(E_ALL);

$connect=pg_connect("host=localhost port=5432 user=postgres password=postgres dbname=students")or die
("Не удалось подключиться к базе данных");
?>

<html>
<
head>
<
title>Перевести студентов</title>
<
meta http-equiv=Content-Type content="text/html; charset:ANSI">
</
head>
<
body bgcolor="#aaddff">
<
center><h2>Перевести студентов</h2></center>
<
script language="JavaScript">
/* function st_izm(obj,stat)
{
var d = document.getElementById(obj);
d.status.value = stat;
alert("Студенты переведены");
d.submit();
}*/

function glob(obj,a)
{
var d = document.getElementById(obj);
d.a.value = a;
d.submit();
}
</script>
<?php
echo "<form action=\"test.php\" method=POST name=\"test\">\n";
echo "<input type=hidden name=a>\n";// глобальная переменная
$a=$_POST['a'];

echo "<br>\n";
echo "<table border=0>\n";
echo "<tr>\n";
echo "<td width=260>\n";
echo "Форма обучения: ";
echo "<select name=fob>
<option></option>
<option>заочная</option>
<option>очная</option>
<option>очно-заочная</option>
</select>
\n";
echo "</td>\n";
$test=$_POST['fob'];
echo "<td width=900>\n";
echo "<input type=button value='Показать' onclick=glob('test',1);>\n";
echo "</td>\n";
echo "<td width=200>\n";
echo "<input type=button value='Перевести студентов' onclick=glob('test',2);>\n";
echo "</td>\n";
echo "<td width=150>\n";
echo "<input type=submit value='Напечатать приказ' >\n";
echo "</td>\n";
echo "</tr>\n";
echo "</table>\n";

$grup_t=$_POST['grup_t'];
$grup_int=$_POST['grup_int'];
$fob=$_POST['fob'];

echo "<br>\n";
echo "<table border=3 width=\"100%\">\n";
echo "<tr>\n";
echo "<td width=70 align=center>Номер зачетной книжки</td>\n";
echo "<td width=350 align=center>ФИО студента</td>\n";
echo "<td width=150 align=center>Форма обучения</td>\n";
echo "<td width=20 align=center>Курс</td>\n";
echo "<td width=100 align=center>Группа</td>\n";
echo "<td width=200 align=center>Телефон</td>\n";
echo "<td width=200 align=center>Статус студента</td>\n";
echo "<td width=150 align=center>Перевод студента</td>\n";
echo "</tr>\n";

if($a==1)
{
echo"пока";
if ($test !="")
{
$sql1="select * from student";
$result1=pg_query($sql1) or die("Запрос не выполнен: ".pg_ErrorMessage());
$id=0;
while ($row1 = pg_fetch_object($result1))
{
$fob1="".trim($row1->fob)."";
if ($fob1==$fob)
{
$GLOBALS["a[".$id."]"]="".trim($row1->nom_zach)."";
$id=$id+1;
$GLOBALS["sumid"]=$id;
}
}
}


var_dump ($GLOBALS["a[2]"]);
$id=0;
$sql1="select * from student";
$result1=pg_query($sql1) or die("Запрос не выполнен: ".pg_ErrorMessage());
while ($row1 = pg_fetch_object($result1))
{
$nom_zach="".trim($row1->nom_zach)."";
if ($GLOBALS["a[".$id."]"]==$nom_zach)
{
echo "<tr>\n";
echo "<td width=70>".$GLOBALS["a[".$id."]"]."</td>\n";
echo "<td width=350>".trim($row1->fname)." ".trim($row1->iname)." ".trim($row1->oname)."</td>\n";
echo "<td width=150>".trim($row1->fob)."</td>\n";
echo "<td width=20>".trim($row1->kurs)."</td>\n";
echo "<td width=100>".trim($row1->grup_t)."-".trim($row1->grup_int)."</td>\n";
echo "<td width=200>".trim($row1->tel)."</td>\n";
echo "<td width=200>".trim($row1->status)."</td>\n";

echo "<td width=150><select name='izm_st_".$id."'>
<option>обычный</option>
<option>условный</option>
<option>академ.отпуск</option>
</select></td>
\n";
echo "</tr>\n";

$id=$id+1;
}
}


echo "</table>\n";
var_dump ($GLOBALS["sumid"]);
}

if($a==2)
{ echo "привет";
var_dump ($GLOBALS["a[2]"]);
$id=0;
var_dump ($GLOBALS["sumid"]);
while ($id < $GLOBALS["sumid"])
{

//$sql_up="update student set status=$status where ";
//$result_up=pg_query($sql_up) or die("Запрос не выполнен: ".pg_ErrorMessage());

$id=$id+1;
}
}





/*
echo "<select name='izm_st_1'>
<option>пупсик</option>
<option>котенок</option>
<option>хрюшка</option>
</select>";
$idd=1;
$izm_st_1=$_POST['izm_st_'.$idd.''];
var_dump($izm_st_1);
/* $array=array ("пупсик","котенок","хрюша");
echo "<select name='izm_st'>
<option>$array[0]</option>
<option>$array[1]</option>
<option>$array[2]</option>
</select>";
$izm_st=$_POST['izm_st'];
var_dump($izm_st); */




echo "</form>\n";


?>
</body>
</
html>




Спустя 16 минут, 27 секунд (23.05.2010 - 14:34) Basili4 написал(а):
Замените массив $GLOBALS $_SESSION Только после манипуляций освобождайте переменные
session_unregister() Чтоб память не засорять.

Спустя 6 минут, 43 секунды (23.05.2010 - 14:41) mkosyakv написал(а):
Заменил, при нажатии на перевод студентов, выдает что $SESSION - NULL а должно иметь значение 777
(

Спустя 18 минут, 27 секунд (23.05.2010 - 14:59) Basili4 написал(а):
блин забыл самой первой строчкой в скрипте должно быть session_start(); инициализация сессии

Спустя 4 месяца, 8 дней, 19 часов, 45 минут, 24 секунды (2.10.2010 - 10:45) Фарид написал(а):
ребята, я даже не понял в каком языке написана программа, но алгоритм данной задачи не такой уж сложный... попробуйте вложенным массивом попробовать, или дополнительными переменными для временного сохранения, или и итем и другим.

Спустя 50 минут, 12 секунд (2.10.2010 - 11:35) SlavaFr написал(а):
я бы начал с того, как научится правельный <select> с <option value="..."> делать чтоб он хоть чтото передавал. как уже было подмечено, лучше называть селекты типа izm_st[$row1->student_id], чтоб потом легко было делать option селектированным.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.