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

eseguire il codice PHP quando si seleziona un elemento della casella combinata

Dovrai utilizzare AJAX per farlo. Ecco un semplice esempio:

HTML

Solo una semplice casella di selezione, ai fini di questo esempio.

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

JavaScript

Userò jQuery qui, non è necessario se non vuoi, ma rende AJAX molto più semplice.

Il browser ascolterà una change evento nella casella di selezione ed eseguire una richiesta AJAX all'URL appropriato. Quando il server restituisce i dati, verrà attivata la funzione di successo. Ulteriori informazioni su .ajax() nella documentazione di 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

Qui sto recuperando i dati, codifica JSON it e rimandandolo al client con il tipo MIME appropriato. Non sono sicuro di come ti connetti al tuo database MySQL, ma sto usando DOP qui.

Tieni presente che le funzioni mysql_* sono deprecato .

<?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);
}