За последние 24 часа нас посетили 16569 программистов и 1578 роботов. Сейчас ищут 982 программиста ...

помогите решить проблемму

Тема в разделе "JavaScript и AJAX", создана пользователем serj011, 20 авг 2010.

  1. serj011

    serj011 Активный пользователь

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    у меня в форме поиска есть селекты которые выбирают из базы страну, регион подсаживается в зависимости от страны, и город привязан к региону... короче все как обычно :)

    все три переменные передаются методом get (country=4&region=19&city=166)

    задача что бы при существовании переменных в строке, соответствующие страна, регнион и город подсаживались в селект...

    со страной мне подсказали решение этой проблеммы (if($country == $row['country_id']) $temp = ' selected'; else $temp = null;), а с городом и регионом так не получаеться, скорее всего что селекты изначально не доступены пока не выбирешь страну...

    я напишу весь код для страны и региона, если у кого есть такой опыт, подскажите как сделать... и можно ли вообще.
    если кто знает, пожалуйста напишите исходный код, у меня знаний нехватает, в этот компот все намешано (php,sql,java):)

    <?php

    <!-- Select для страны -->
    <select name="country" onChange="onChange(this,'1');document.getElementById('region').disabled=''; document.getElementById('city').innerHTML='';" class="input_city">
    <option value='0'>- Выберите страну -</option>
    <?php
    function sel_country($a)
    {
    $b = isset($_POST['country'])?$_POST['country']:NULL;
    if($a == $b) {
    return 'selected="selected"';
    }}
    switch ($_SESSION['lang']) {
    case '1' :
    $query_country = "SELECT country_id,country_rus as name FROM country";
    break ;
    }
    $res = mysql_query($query_country, $site) or die(mysql_error());
    // выводим все строки из столбца name таблицы country

    while($row = mysql_fetch_array($res)) {
    if($country == $row['country_id']) $temp = ' selected'; else $temp = null;

    echo "<option ".sel_country($row['country_id'])." value='".$row['country_id']."'".$temp.">" . $row['name'] . "</option>";

    }
    mysql_free_result($res);
    ?>
    </select>

    <!-- Select для региона -->
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="region" id="region" <?$_POST['country']?'':'disabled="disabled"')?> onChange="onChange(this,'2');document.getElementById('city').disabled='';" class="input_city" />
    <option value='0'>- Выберите регион -</option>
    <?php
    function sel_region($a)
    {
    $b = isset($_POST['region'])?$_POST['region']:NULL;
    if($a == $b) {
    $_SESSION['recoun']='poi' ;
    return 'selected="selected"';
    }
    }
    if(isset($_POST['country']))
    {
    switch ($_SESSION['lang']) {
    case '1' :
    $query = "SELECT region_id,region_rus as name FROM `region` WHERE `country_id`='".(int)$_POST['country']."'";
    break ;
    }
    $res = mysql_query($query);

    while($row = mysql_fetch_array($res))
    {
    if($region == $row['region_id']) $temp_r = ' selected'; else $temp_r = null;
    echo "<option ".sel_region($row['region_id'])." value='" . $row['region_id'] . "'".$temp_r.">" . $row['name'] . "</option>";
    }
    mysql_free_result($res);
    }
    ?>