sql >> Databasteknik >  >> RDS >> Mysql

exekvera PHP-kod när du väljer ett combobox-objekt

Du måste använda AJAX att göra detta. Här är ett enkelt exempel:

HTML

Bara en enkel valruta för detta exempel.

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

JavaScript

Jag kommer att använda jQuery här, du behöver inte om du inte vill men det gör AJAX mycket enklare.

Webbläsaren lyssnar efter en change händelsen på select-rutan och utför en AJAX-begäran till lämplig URL. När servern skickar tillbaka data kommer framgångsfunktionen att triggas. Läs mer 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

Här hämtar jag data, JSON-kodning det och skicka tillbaka det till klienten med lämplig MIME-typ. Jag är inte säker på hur du ansluter till din MySQL-databas, men jag använder PDO här.

Tänk på att mysql_*-funktioner är utfasad .

<?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. Delphi DBX- och MySQL-anslutningsmardröm:DBX-fel:Drivrutinen kunde inte initieras korrekt

  2. MYSQL visar felaktiga rader när du använder GROUP BY

  3. SUM-radgrupp efter namn med hjälp av pdo

  4. Specialtecken i PHP/MySQL