2012-02-10 4 views
0

Я получаю следующую форму моей базы данных, которая содержит на 2011 год неделя с 1 по 20 неделю и на 2012 год в настоящее время на неделе 1. Я хочу, чтобы мой пользователь сначала выбирал 2011 год, а затем вызывал неделю, чтобы выбрать, например, так что они не выбирают, например, неделю 10 и год 2012 (которые еще не доступны). Любая помощь приветствуется.Форма поиска с php

<form name="myform" action="http://www.website.com/displaybook.php" method="get"> 
    <select size="1" name="d"> 
    <? 
    $sql=mysql_query("SELECT DISTINCT (Week) FROM data ORDER BY Week ASC"); 
    while($row = mysql_fetch_array($sql)) 
    { 

    echo "<option value='". $row['Week']."'>Week - ". $row['Week']."</option>"; 

     } 

    ?> 
    </select> 

    <select size="1" name="y"> 
    <? 
    $sql=mysql_query("SELECT DISTINCT (Year) FROM data ORDER BY Year Desc"); 
    while($row = mysql_fetch_array($sql)) 
    { 

    echo "<option value='". $row['Year']."'>Season - ". $row['Year']."</option>"; 

     } 

    ?> 

    </select> 
    <input type="submit" value="Get data"> 
    </form> 
+0

Для этого вам нужно написать Javascript. –

ответ

0

Вам нужно поставить year выбрать перед day выбрать ... Это будет изправлена ​​строку GET автоматически ... Затем вы создаете немного JavaScript для того, чтобы второй выбор, если выбран первый, как это:

<script type="text/javascript"> 
function getWeek() 
{ 
    if (document.getElementById('y').value != '') 
    { 
     document.getElementById('d').disabled = ''; // this will enable the select 
    } 
} 
</script> 

И в вашем HTML:

<form name="myform" action="http://www.website.com/displaybook.php" method="get"> 
<select size="1" name="y" onchange="getWeek()"> 
<? 
$sql=mysql_query("SELECT DISTINCT (Year) FROM data ORDER BY Year Desc"); 
while($row = mysql_fetch_array($sql)) 
{ 
    echo "<option value='". $row['Year']."'>Season - ". $row['Year']."</option>"; 
} 

?> 
</select> 
<select size="1" name="d" id="d" disabled="disabled"> 
<? 
$sql=mysql_query("SELECT DISTINCT (Week) FROM data ORDER BY Week ASC"); 
while($row = mysql_fetch_array($sql)) 
{ 
    echo "<option value='". $row['Week']."'>Week - ". $row['Week']."</option>"; 
} 
?> 
</select> 
<input type="submit" value="Get data"> 
</form> 

Что-то, как это должно работать отлично!

+0

привет, когда вы выбираете 2011 или 2012, он не звонит в неделю – meandme

+0

обнаружил, что вы забыли добавить id = "y" в строке 2. Но все же, когда я выбираю 2012, я действительно получаю неделю, чтобы выбрать неделю 20, например, которые еще не доступны – meandme

+0

Итак, вы наблюдаете за пользователем, чтобы выбрать неделю, которая существует и которая передается или текущая? –

Смежные вопросы