sql >> データベース >  >> RDS >> Mysql

コンボボックスアイテムを選択するときにPHPコードを実行する

    AJAX を使用する必要があります これをする。簡単な例を次に示します。

    HTML

    この例では、単純な選択ボックスです。

    <select id='items'>
        <option value='1'>Item 1</option>
        <option value='2'>Item 2</option>
        <option value='3'>Item 3</option>
    </select>
    

    JavaScript

    ここではjQueryを使用します。使用したくない場合は使用する必要はありませんが、AJAXが非常に簡単になります。

    ブラウザはchangeをリッスンします 選択ボックスでイベントを実行し、適切なURLに対してAJAXリクエストを実行します。サーバーがデータを送り返すと、成功関数がトリガーされます。 .ajax()の詳細を読む jQueryのドキュメントにあります。

    $(document).ready(function() {
        $('#items').change(function() {
            $.ajax({
                type: 'GET',
                url: 'pageWithPhpCode.php',
                data: {
                    itemID: $(this).val()
                },
                dataType: 'json',
                success: function(data) {
                    // do whatever here
                    console.log(data);
                }
            });
        });
    });
    

    PHP

    ここでは、データを取得しています。JSONエンコーディング それを送信し、適切なMIMEタイプでクライアントに送り返します。 MySQLデータベースへの接続方法はわかりませんが、 PDO ここ。

    mysql_*関数は非推奨

    <?php
    if(isset($_GET['itemID'])) {
        $db = new PDO();
        // ... connect to your database, however you do it
    
        $q = 'SELECT * FROM items WHERE id = :itemid;';
        $stmt = $db->prepare($q);
        $stmt->bindValue(':itemid', $_GET['itemID'], PDO::PARAM_INT);
        $stmt->execute();
    
        $output = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
        header('Content-Type: application/json; charset=utf-8');
        echo json_encode($output);
    }
    



    1. 重要なSQLデータベースを回復するための2020年に最適なSQL回復ツール

    2. json_encodeが何も返さない

    3. PostgreSQLサーバー側のプリペアドステートメントの寿命はどれくらいですか

    4. MySQLで年齢を計算する(InnoDb)