Подгрузка городов при помощи AJAX

painbot

Ежик в тумане
Добрый день... понимаю тема заезженна, но все же не имея достаточных знаний в java script очень трудно решить проблему, даже с готовыми примерами)) за сим извольте ознакомиться с кодом:))
PHP:
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
/*Дописываем базе прифекс*/
define("db_prefix","pb_");
/*Функция is_sel - */
function is_sel($a, $field)
{
  $b = isset($_POST[$field])?$_POST[$field]:NULL;
  if($a == $b) return 'selected="selected"';
}
/*Забираем все данные из таблицы*/
$res = mysql_query('SELECT * FROM '.db_prefix.'country');



$output ='<div class="vivod">Другие офисы:<form id="frm" method="post"><select name="country" onchange="document.getElementById(\'frm\').submit()"><option value=\'null\'>- Выберите регион -</option>';
/*Пишем в цикле выпадающий список из регионов - вывода пока нет собираем всю строку в переменную*/

    while($row = mysql_fetch_array($res))
$output .= "<option ".is_sel($row['id'],'country')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
/*Ранованто еще для вывода*/
$output .= '</select>';
/*Проверяем если есть выбор региона то подгружаем города из этого региона*/
if(isset($_POST['country']))
{
  $res=mysql_query('SELECT * FROM '.db_prefix.'city WHERE area="'.(int)$_POST['country'].'"');
/*Формируем строку из городов с выпадающим списком*/
  $output .= "<select id=\"city\" name=\"city\" onchange=\"document.getElementById('frm').submit()\" >
    <option  value='0'>- Выберите город -</option>";
/*Теперь сами города*/
    while($row = mysql_fetch_array($res))
       $output .= "<option ".is_sel($row['id'],'city')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";

   $output .= "</select>";
}

 $output .= '</form></div><div class="adress">';
 
if (isset($_POST['city'])) setcookie('city',  $_POST['city'], time()+60*60*24); 

/*Собираем в переменную строку с выпадающими списками и выводим после записи в куки */

echo $output;
 

 /*Условие - если установленны кукисы то пишем то что есть в кукисах на вывод адреса*/


$city = isset($_POST['city'])?$_POST['city']:NULL;
/*Если произведен выбор из выпадающего списка*/
if (isset($_POST['city']))
{
if($city && $city !== 0)
{
  $res1=mysql_query('SELECT * FROM '.db_prefix.'phone WHERE id='.(int)$_POST['city'].' LIMIT 1');
  $row1 = mysql_fetch_array($res1);
/*Печать адреса*/ 
 echo $row1['name'];
 
}

как подгрузить города и после выгружать в соответствии адреса городов, скрипт работает но с перезагрузкой страницы) существует ли изящный способ? чтобы не заморачиваться? Заранее благодарен...
 

Bardak

Новичок
без знаний javascript у вас ничего не получится.

Так что вам нужно копать в сторону: jquery ajax json
 

Bardak

Новичок
Это замечательно. Ведь вы так много всего нового узнаете.
 

NeWMaN

Новичок
А чего вы хотите от общественности? Что бы за вас код написали? Это вряд ли получится.
Куда копать вам уже сказали - по этим ключевым словам куча примеров - и не надо быть семи пядей во лбу чтобы с этим разобраться.
 

painbot

Ежик в тумане
Да не надо так ругаться,) дружище,)) я и не собирался здесь искать халявы - задал вопрос о элегантном и простом решении если такой есть)
кучу примеров я уже обошел, но хотелось еще проще)) ну раз нет . то и нет) буду болтать java script)
 
Сверху