2011-07-17 25 views
1

動的選択フォームに問題があります。 「件名」フォームが提出されると完全に動作しますが、「コース」フォームが提出されると、フォームは正しく提出されたようです(localhost/page.php?subject = 1 &コース= 2) nullに戻るので、course_idに依存する後のphpではうまく動作しません。動的選択フォームの自動投稿

ヘッダーPHP:

<?php 
$subject = $course = null; 

$conn = mysql_connect('', '', ''); 
$db = mysql_select_db('',$conn); 

if(isset($_GET["subject"]) && is_numeric($_GET["subject"])) 
{ 
    $subject = $_GET["subject"]; 
} 

if(isset($_GET["course"]) && is_numeric($_GET["course"])) 
{ 
    $country = $_GET["course"]; 
} 
?> 

Javascriptを:

<script language="JavaScript"> 

function autoSubmit() 
{ 
    var formObject = document.forms['theForm']; 
    formObject.submit(); 
} 

</script> 

HTMLフォーム:$対象と$コースがある場合、これらの行で

<form name="theForm" method="get"> 
    <select name="subject" onChange="autoSubmit();"> 
     <option value="null">Select a Subject...</option> 

     <?php 
     $sql = "SELECT DISTINCT subj_name, subj_id FROM table1 ORDER BY subj_name"; 
     $result = mysql_query($sql) or die ("couldn't execute query"); 

     while($row = mysql_fetch_array($result)) 
     { 
      echo ("<option value=\"$row[subj_id]\" " . 
       ($subject == $row["subj_id"] ? " selected" : "") . ">$row[subj_name]</option>");   
     } 
     ?>   
    </select> 

<?php 
if($subject != null && is_numeric($subject)) 
{ 
?> 

    <select name="course" onChange="autoSubmit();">   
     <option value="null">Select a Course...</option> 

     <?php 
     $sql = "SELECT DISTINCT course_id, course_name, subj_id FROM table1 WHERE subj_id = $subject"; 
     $result = mysql_query($sql); 

     while($row = mysql_fetch_array($result)) 
     { 
      echo ("<option value=\"$row[course_id]\" " . 
        ($course == $row["course_id"] ? " selected" : "") . ">$row[course_name]</option>");   
     } 
     ?>   
    </select> 

<?php 
} 
?> 
</form> 

答えて

0

私はエラーを検出しました:行の$country 14人のニーズ$courseすべき:

if(isset($_GET["course"]) && is_numeric($_GET["course"])) 
{ 
$course = $_GET["course"]; 
} 
?> 
0

"選択" のみに設定する必要がありますコールバックリクエストで渡されない:

<option value="null" selected="selected">Select a Subject...</option>  
... 
<option value="null" selected="selected">Select a Course...</option> 

それ以外の場合は、各ドロップダウンで選択された2つのオプションが表示されます。これはバグの原因となります。

0
<pre> 
if(isset($_GET["course"]) && is_numeric($_GET["course"])) 
{ 
    $country = $_GET["course"]; 
} 
</pre> 


Here, you are setting a $country variable instead of $course. 

**Use this one** 

$course= $_GET["course"]; 
関連する問題