Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на PHP и MySQL за попълване на падащото меню

Както казват други членове, трябва да използвате PDO (с подготвени изявления) вместо mysql_.

Една възможна реализация:

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:не е тестван, но трябва да работи... Предполагам.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разстояние на Хеминг върху двоични низове в SQL

  2. Пълнотекстово търсене в MySQL, защо получавам неправилни аргументи за МАЧ

  3. Кои са жизнеспособните слоеве за абстракция на база данни за Python

  4. Mysql връща само един ред, когато използва Count

  5. mysql ГРЕШКА 1064 (42000):Имате грешка във вашия SQL синтаксис;