Заполнение раскрывающегося списка на основе предыдущего выбора - PullRequest
2 голосов
/ 26 августа 2011

У меня MySQL таблицы выглядят так

таблица регионов

id     |   region
-------------------
1      |   Region1
2      |   Region2

...

и школьный стол

id     |   school
-------------------
1      |   schno1
1      |   schno5
1      |   schno6
2      |   scho120

В моей регистрационной форме есть несколько выбранных (выпадающих) меню. Раскрывающийся список регионов выглядит так

<select name="region">
<option value="0">Select the region</option>
<?php
$result=$db->query("SELECT * FROM regions");
while($row=$result->fetch_array(MYSQLI_BOTH))
{
    echo '<option value="'.$row[0].'">'.$row[1].'</option>';
    }
?>
</select>

Что я хочу сделать, так это получить идентификатор «регионов», а затем заполнить раскрывающееся меню школ на основе идентификатора (идентификатор предыдущего выбора) из таблицы «школ» на лету. Я новичок в JS. Пожалуйста, помогите мне исправить это. Спасибо заранее.

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

1) Использовать событие изменения jQuery (привязка к региону выбора)
2) Назовите свой php скрипт, где вы должны предоставить данные о школах на основе идентификатора региона
3) Прикрепить данные к школе выберите

Есть множество примеров на www - http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/

0 голосов
/ 26 августа 2011
$region = mysql_real_escape_string($_POST['region']);
$query = "SELECT s.school FROM regions r 
          INNER JOIN schools s ON (s.region_id = r.id) 
          WHERE r.region LIKE '$region' ";  <<-- LIKE is case insensitive, '=' is NOT 
$result = $db->query($query);
if not($result) then { die("error"); }
while($row=$result->fetch_array(MYSQLI_BOTH))
{
  echo '<option value="'.$row[0].'">'.$row[1].'</option>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...