Объединить GET запросы

TheRealKos

Новичок
Доброго времени суток. Есть два разных GET запроса. Первый (назовем ПЕРИОД) посылает период. А второй (назовем СЕМЕСТР) посылает одно из трех: либо только номер семестра, либо номер семестра и предмет, либо номер семестра, предмет, номер группы. Как можно их объединить.
PHP:
echo "<form name='form1' method='GET' action='index.php' method='GET'>";
$sql55 = "SELECT * FROM `years` ORDER BY `year`";
$result_select55 = mysql_query($sql55);
echo "<select name = 'year' onChange='form1.submit()'>";
echo "<option selected disabled>Можно выбрать период обучения...";
while($object = mysql_fetch_object($result_select55)){
echo "<option value = '$object->year'>$object->year</option>";
}
echo "</select><br><br>";
echo "</form>";
echo "Семестр<br>";
$catalog = mysql_query("SELECT DISTINCT `semestr`,`predmet`,`group` FROM `catalog` ORDER BY `semestr`");
$semesters = array();
while($row = mysql_fetch_assoc($catalog))
{
  $semesters[$row['semestr']][$row['predmet']][] = $row['group'];
}
echo "<ul>";
    foreach($semesters as $k => $v)
    {
      echo "<li><a href='index.php?semestr=".$k."'>$k</a></li>";
      echo "<ul>";
            foreach($v as $k1 => $v1)
            {
                echo "<li><a href='index.php?semestr=".$k."&predmet=".$k1."'>$k1</a></li>";
                echo "<ul>";
                    foreach($v1 as $k2 => $v2)
                    {
                        echo "<li><a href='index.php?semestr=".$k."&predmet=".$k1."&group=".$v2."'>$v2</a></li>";
                    }
                echo "</ul>";
            }
        echo "</ul>";
    }
echo "</ul>";
if (isset($_GET['year']))
{ echo "Фильтр <br> Период обучения: ".$_GET['year'];
//выборка
}
if (isset($_GET['semestr']) && !isset($_GET['predmet']) && !isset($_GET['group']))
{echo "Фильтр <br> Семестр: ".$_GET['semestr'];
//выборка
}
if (isset($_GET['semestr']) && isset($_GET['predmet']) && !isset($_GET['group']))
{$predmet=strtr($_GET['predmet'], $translit);
echo "Фильтр <br> Семестр: ".$_GET['semestr']." <br> Предмет: ".$_GET['predmet'];
//выборка
}
if (isset($_GET['semestr']) && isset($_GET['predmet']) && isset($_GET['group']))
{
echo "Фильтр <br> Семестр: ".$_GET['semestr']." <br> Предмет: ".$_GET['predmet']." <br> Группа: ".$_GET['group'];
//выборка
}
if (!isset($_GET['semestr']) && !isset($_GET['predmet']) && !isset($_GET['group']) && !isset($_GET['year']))
{
//выборка
}
Период только отдельно передается. Как его передать, когда уже передан только семестр, или семестр и предмет, или семестр и предмет и номер группы?
 

TheRealKos

Новичок
http://ru.wikipedia.org/wiki/AJAX подойдет?
А почему не передавать сразу все параметры одним сабмитом формы?
AJAX не знаю к сожалению... Часть идет из выпадающего списка (из одной таблицы), часть текстовая ссылка (из другой таблицы). И как их тогда объединить? И желательно чтоб без кнопок (как сейчас сделано, криво, но работает и без кнопок)...
 

elenaka

Новичок
Смотрите, у вас срабатывает отправка данных формы по выбору из списка (onChange='form1.submit()), страница перезагружается.
Либо придется заполнить всю форму и нажимать кнопку для сабмита формы, либо обрабатывать данные без перезагрузки страницы. А это в любом случае javascript. Как должна работать программа?
А вообще, к php этот вопрос не имеет отношения.
 

TheRealKos

Новичок
Смотрите, у вас срабатывает отправка данных формы по выбору из списка (onChange='form1.submit()), страница перезагружается.
Либо придется заполнить всю форму и нажимать кнопку для сабмита формы, либо обрабатывать данные без перезагрузки страницы. А это в любом случае javascript. Как должна работать программа?
А вообще, к php этот вопрос не имеет отношения.
Вот у меня сейчас так:

А можно например так сделать? Выбрали из выпадающего списка (без onChange), и с помощью radiobutton выбрать одну из ссылок? И что бы нужные условия отправились в ГЕТ (ну т.е. выбрали семестр и период получилось так:
index.php?semestr=8&year=2012/2013)
 
Последнее редактирование:

elenaka

Новичок
На радио навесить что-то типа onclick="window.location+= '?selectName='+document.formName.selectName.value;"
 
Сверху