sql >> Database >  >> RDS >> Mysql

voer PHP-code uit bij het selecteren van een combobox-item

U moet AJAX gebruiken om dit te doen. Hier is een eenvoudig voorbeeld:

HTML

Gewoon een simpele selectiebox, voor de doeleinden van dit voorbeeld.

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

JavaScript

Ik ga hier jQuery gebruiken, je hoeft het niet te doen als je dat niet wilt, maar het maakt AJAX een stuk eenvoudiger.

De browser luistert naar een change gebeurtenis op de select box en voer een AJAX-verzoek uit naar de juiste URL. Wanneer de server gegevens terugstuurt, wordt de succesfunctie geactiveerd. Lees meer over .ajax() in de jQuery-documentatie.

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

Hier haal ik de gegevens op, JSON-codering het, en het terugsturen naar de klant met het juiste MIME-type. Ik weet niet zeker hoe je verbinding maakt met je MySQL-database, maar ik gebruik BOB hier.

Houd er rekening mee dat mysql_*-functies verouderd .

<?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. JPA-toewijzing:QuerySyntaxException:foobar is niet toegewezen...

  2. Kun je MySQL @-sessievariabelen gebruiken in de C#-connector?

  3. Hoe krijg ik kolomgegevenstype in Oracle met PL-SQL met lage privileges?

  4. Query met veel CASE-instructies - optimalisatie