Есть база данных студентов с различной информацие
(форма обучения, номер группы, ФИО и прочее),
так вот при наступлении нового учебного года их всех нужно перевести на курс выше (к примеру была группа ИС-301 стала ИС-401),
перевод должен осуществлятся по определенным условиям:
обычный перевод, условный, не переводится из-за долгов или вобще ушел в академ отпуск...
Выглядит это все примерно так:
Есть форма в которой выбираешь форму обучения,
и все студенты с данной формой обучения выгружаются в таблицу,
в которой дальше нужно выбрать условия перевода,
и нажать кнопочку перевод студентов, и они соответсвенно должны перевестись.
Мы попытались все это осуществить при помощи глобального массова
и селектов с индивидальными иминами
которые связаны с элементами массива, элементы массива это номера зачеток студентов.
Основная проблема в том что при рефреше экрана глобальный массив теряет все свои данные,
и уж что только мы не перепробовали но ничерта не получастся.
Толи мы дураки и делаем все не так толи его знает уже что
(, это курсовой который нам назначили
(у остольных был выбор причем темы они сами придумывали),
а нам взяли и назначили,
скоро сдавать а мы уже месяц не можем сдвинуться с данной точки (((
Код программы скидываю весь, умоляю ЗНАТОКИ и ЭКСПЕРТЫ помогите, Пли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() Чтоб память не засорять.
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 селектированным.