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

PHPとMySQLを使用してドロップダウンにデータを入力する

    他のメンバーが言っているように、mysql_の代わりに(プリペアドステートメントを使用して)PDOを使用する必要があります。

    考えられる実装の1つ:

    HTML(form.php)

    <select name="list1" id="list1">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
    
    <select name="list2" id="list2"></select>
    
    <script type="text/javascript">
    $("#list1").change(function() {
        $.ajax({
            url : "get_list2.php?id=" + $(this).val(),                          
            type: 'GET',                   
            dataType:'json',                   
            success : function(data) {  
                if (data.success) {
                    $('#list2').html(data.options);
                }
                else {
                    // Handle error
                }
            }
        });
    });
    </script>
    

    PHP(get_list2.php)

    require_once("config.php");
    
    $id = $_GET['id'];
    
    if (!isset($id) || !is_numeric($id))
        $reponse = array('success' => FALSE);
    else {
        // Where $db is a instance of PDO
    
        $query = $db->prepare("SELECT * FROM mytable WHERE id = :id");
        $query->execute(array(':id' => $id));
        $rows = $query->fetchAll(PDO::FETCH_ASSOC);
    
        $options = "";
        foreach ($rows as $row) {
            $options .= '<option value="'. $row .'">'. $row .'</option>';
        }
    
        $response = array(
            'success' => TRUE,
            'options' => $options
        );
    }
    
    header('Content-Type: application/json');
    echo json_encode($response);
    

    PS:テストされていませんが、動作するはずです...私は推測します。




    1. OracleRMANの概要

    2. リカバリが遅延したログ配布を使用したデータ損失の修正

    3. mysqlクエリの最初の行のみを取得する

    4. postgresqlへのdictオブジェクトの追加