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'];
}
как подгрузить города и после выгружать в соответствии адреса городов, скрипт работает но с перезагрузкой страницы) существует ли изящный способ? чтобы не заморачиваться? Заранее благодарен...