sql >> Databáze >  >> RDS >> Mysql

Použití PHP a MySQL k naplnění rozevíracího seznamu

Jak říkají ostatní členové, měli byste použít PDO (s připravenými příkazy) místo mysql_.

Jedna možná implementace:

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:netestováno, ale mělo by to fungovat... myslím.




  1. Materialized Views – Identifikace poslední aktualizace

  2. Získávání dat z rozevíracího seznamu s více možnostmi pomocí PHP pro vložení do MySQL

  3. jak používat `charset` a `encoding` v `create_engine` SQLAlchemy (k vytvoření datového rámce pandy)?

  4. Jak mohu získat výpis postgres databáze ve formátu prostého textu na heroku?