Уже давно бьюсь с этой динамической формой... Нужна хелпа index.php: PHP: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//RU" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" /> <script language="JavaScript" src="js/jquery.js"></script> <script language="JavaScript"> function GetCity(){ $('#districtselect').html(''); $('#cityselect').html(''); $('#homeselect').html(''); var city=$("#city").val(); var url = "select.php?city="+city; $.ajax({ url: url, type: "GET", success: function(e){ $("#districtselect").html(e); } }); } function GetDistrict(){ $('#streetselect').html(''); $('#homeselect').html(''); var district=$('#selecteddistrict').val(); var url = "select.php?district="+district; $.ajax({ url: url, type: "GET", success: function(e){ $('#streetselect').html(e); } }); } function SelectStreet(){ $('#homeselect').html(''); var home=$('#selectedhome').val(); var url = "select.php?home="+home; $.ajax({ url: url, type: "GET", success: function(e){ $('#homeselect').html(e); } }); } </script> </head> <body> <div style="padding:20px;background-color:#F5F5F5;border:1px solid #FF8C00;position:absolute;top:20%;left:20%"> <center> <form method="GET" action="regions.php"> <? include ('select/city.php') ?> <div id="districtselect"></div> <div id="streetselect"></div> <div id="homeselect"></div> </form> </center> </div> </body> </html> city.php : PHP: <? include ("bd.php"); $qr=mysql_query("SELECT * FROM city",$db); $qrr=mysql_query("SELECT * FROM city ORDER BY id desc limit 1",$db); $size=mysql_fetch_array($qrr); if ($size[id] == 1){$size2 = ($size[id]) + 1;} else {$size2 = $size[id];} echo " <label>Город</label><br> <select id='city' size='$size2' onChange='GetCity()'> "; do { if($row > 0) printf ("<option value='%s'>%s</option>",$row[eng],$row[name]); } while ($row=mysql_fetch_array($qr)); echo "</select>"; ?> select.php : PHP: <? if(isset($_GET['city'])){ $link = mysql_connect('localhost', '****', '****') or die('Could not connect: ' . mysql_error()); mysql_select_db('my_db') or die('Could not select database'); $city=strval($_GET['city']); $query = 'SELECT * FROM district WHERE "city_name"="$city"'; $result = mysql_query($query) or die('Query failed: ' . mysql_error()); echo '<select id="selecteddistrict" name="district" onChange="GetDistrict()">'; while($line = mysql_fetch_array($result, MYSQL_ASSOC)){ echo '<option value="'.$line['id'].'">'.$line['name'].'</option>'; } echo '</select>'; } ?> Все проходит Нормально. Первый селектор выбирал. Появляется второй селектор как нужно! НО в нем пусто... Смотрю в Firebug: и там: HTML: <select id="selecteddistrict" name="district" onChange="GetDistrict()"></select> Тоесть проблема в вытаскивание из базы....
В фаербаге есть инфа о запросе и ошибке в случае если она есть , если нет , то будет ответ гет запроса
Это ясно. Как раз GET запрос прошел удачно и ответ получен: HTML: <select id="selecteddistrict" name="district" onChange="GetDistrict()"></select> но нету вот этой части: PHP: while($line = mysql_fetch_array($result, MYSQL_ASSOC)){ echo '<option value="'.$line['id'].'">'.$line['name'].'</option>'; } и не понятно почему....
Еще пару вопросов: 1. Как можно сделать, чтобы русский в запросе оставался русским, а не: http://test1.ru/13/select.php?city=%D0% ... 0%B0%D0%BD А должен был: http://test1.ru/13/select.php?city=Курган 2. Есть база: [sql]INSERT INTO `address` (`id`, `city`, `district`, `street`, `home`) VALUES (1, 'Курган', 'Заозерный', '3-микрорайон', '9 дом'), (2, 'Курган', 'Заозерный', '6-микрорайон', '10 дом'), (3, 'Курган', 'Северный', 'Зеленая', '4 дом'), (4, 'Курган', 'Северный', 'Садовая', '50 дом'), (5, 'Курган', 'Шевелевка', '4-я Больничная', '10 дом');[/sql] например я делаю запрос: [sql] mysql_query("SELECT city FROM address",$db);[/sql] тогда он мне в селекторе выводит 5 раз город Курган. А мне нужно чтобы он проверял 1=2=3=4=5(выводил 1 раз город Курган), а если 1=2=3=4!=5 и начинается 5=6=7=8(записываем город другой) Но чтобы все районы выводил и также проверял на одинаковость)