1

調査からの回答のグラフを表示する結果ページがあります。グラフは、SQL を実行する PHP ファイルを介して生成されます。結果ページにはフィルタリングを組み込む必要があるため、AJAX を使用して SQL を更新し、結果ページをリロードせずに表示しようとしています。

フィルターのタイプはフォームから選択します。

<form name="sqlselector" action= "javascript" onsubmit"ajaxFunction('barscompleteCCC.php?     course=' + document.getElementById('course').value);">

<select name="course"> 
<option value="All">All</option>
<?php $result= mysql_query('SELECT * FROM tCourse'); ?> 
<?php while($row= mysql_fetch_assoc($result)) 
{ ?> 
    <option value="<?php echo htmlspecialchars($row['CourseID']);?>"> 
        <?php echo htmlspecialchars($row['CourseName']); ?> 
    </option> 
<?php 
} 
?> 
</select>
<input type="submit" value="Build">
</form>

アヤックスは次のとおりです。

ajaxConnection.onreadystatechange = ajaxReply; // whenever the ready state is changed
ajaxConnection.open('GET', url, true); // opens a request to server
ajaxConnection.send(null); // closes the request
// Now, the code waits unless the ready state changes.
// After every change ajaxReply() is executed

    return true;

} // end function ajaxFunction

function ajaxReply() { // your code's logic goes here
    if (ajaxConnection.readyState == 4) 
    { // 4 mean page loaded successfully
        if (ajaxConnection.status == 200) 
        { // 200 mean all is OK
            document.getElementById('course').innerHTML =   ajaxConnection.responseText;            
        } // end if
        else 
        { // if the status code is anything else (a rare case though)
            alert('Something weird occurred. HTTP error code ' + ajaxConnection.status.toString() + 'yoko.');
            return; // exit
        }
    } // end if

動的に変更したい問題の変数は、PHP ファイルにあります。

session_start();
$course = $_GET['course'];

どうぞ、どんな助けでも大歓迎です。:-)

4

0 に答える 0