sql >> Database teknologi >  >> RDS >> Mysql

udfør PHP-kode, når du vælger et combobox-element

Du skal bruge AJAX at gøre dette. Her er et simpelt eksempel:

HTML

Bare en simpel markeringsboks til formålet med dette eksempel.

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

JavaScript

Jeg vil bruge jQuery her, det behøver du ikke, hvis du ikke vil, men det gør AJAX meget nemmere.

Browseren lytter efter en change hændelse i feltet vælg og udfør en AJAX-anmodning til den relevante URL. Når serveren sender data tilbage, udløses succesfunktionen. Læs mere om .ajax() i jQuery-dokumentationen.

$(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

Her henter jeg dataene, JSON-kodning det, og sender det tilbage til klienten med den passende MIME-type. Jeg er ikke sikker på, hvordan du opretter forbindelse til din MySQL-database, men jeg bruger BOB her.

Husk, at mysql_*-funktioner er forældet .

<?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. Fejl i mysql bigint variabel erklæring inde i brugerdefineret nextval funktion

  2. Almindelige Postgres-opgaver på CentOS 7

  3. FEJL:Kan ikke finde modulet 'sequelize/types'

  4. Massesaml ind og udfør øjeblikkeligt i Oracle