Выбор страны->региона->города помогите реализовать

Тема в разделе "Вопросы новичков", создана пользователем sergey_prusov, 23 авг 2011.

Статус темы:
Закрыта.
  1. sergey_prusov

    sergey_prusov

    Регистр.:
    31 окт 2008
    Сообщения:
    205
    Симпатии:
    3
    Всем привет. Использую JB 3 версии. Возникла проблема при расширении функционала, как определение города. Собственно собрал б.д городов и регионов вот кусок:
    Код:
    (2, 0, 'Россия', 'Rossiya', 1),
    (3, 2, 'Москва и Московская обл.', 'Moscow & Moscow Region', 1),
    (4, 3, 'Москва', 'Moscow', 1),
    (5, 3, 'Абрамцево', 'Abramtsevo', 1),
    (6, 3, 'Алабино', 'Alabino', 1),
    (7, 3, 'Апрелевка', 'Aprelevka', 1),
    (8, 3, 'Архангельское', 'Arhangelskoe', 1),
    (9, 3, 'Ашитково', 'Ashitkovo', 1),
    и т.д
    теперь суть. Когда человек добавляет объявление принцип такой страна->регион->город в бд все записывается как надо
    а теперь когда человек ищет объявление с помощью расширенного поиска выберается только регион(собственно так и хотел) и показывается все объявления этого региона. Так и должно быть.
    Но вот когда человек на главной странице выберает страну->регион (город не надо) объявления этого региона не показываются(((( и незнаю как быть.
    В пшп пока еще не силен вот и прошу помощи. Думаю при выборе на главной стр. помогут файлы расширенного поиска. Собственно выложу файлы которые нужны для редактирования.
    эти отвечают за поиск
    search.inc.php
    PHP:
    <div id="content_block">
    <div class="cbtl"><div class="cbtr">
    <div class="cb_title"><h4><img class="absmid" src="<?=$im?>search_ico.png" /> <?=nl2br($lang[156])?></h4></div>
    <div class="cbc"><?
    if(@$_GET['query'] || ctype_digit(@$_GET['time']) || @$_GET['type'] || ctype_digit(@$_GET['city']) || @$_GET['images'] || ctype_digit(@$_GET['cat'])){
        if(@$_GET['query']!=""){
            if(is_utf8($_GET['query']))$gquery=trim($_GET['query']);
            else $gquery=cp1259_to_utf8(trim($_GET['query']));
            $gquery=strip_tags_smart($gquery);
            $gquery=preg_replace("/[^a-zа-яЁёі0-9\s]+/umi","",$gquery); 
            $gquery=htmlspecialchars($gquery);
            $gquery=cleansql($gquery);
            if(utf8_strlen($gquery)<3)die($lang[158]);
            $sq=array();
            $sq[]=$gquery;
            if(@!$_GET['nomorph']){
                class Lingua_Stem_Ru{
                    var $VERSION="0.02";
                    var $Stem_Caching=0;
                    var $Stem_Cache=array();
                    var $VOWEL='#аеиоуыэюя#u';
                    var $PERFECTIVEGROUND='#((ив|ивши|ившись|ыв|ывши|ывшись)|((?<=[ая])(в|вши|вшись)))$#u';
                    var $REFLEXIVE='#(с[яь])$#u';
                    var $ADJECTIVE='#(ее|ие|ые|ое|ими|ыми|ей|ий|ый|ой|ем|им|ым|ом|его|ого|ему|ому|их|ых|ую|юю|ая|яя|ою|ею)$#u';
                    var $PARTICIPLE='#((ивш|ывш|ующ)|((?<=[ая])(ем|нн|вш|ющ|щ)))$#u';
                    var $VERB='#((ила|ыла|ена|ейте|уйте|ите|или|ыли|ей|уй|ил|ыл|им|ым|ен|ило|ыло|ено|ят|ует|уют|ит|ыт|ены|ить|ыть|ишь|ую|ю)|((?<=[ая])(ла|на|ете|йте|ли|й|л|ем|н|ло|но|ет|ют|ны|ть|ешь|нно)))$#u';
                    var $NOUN='#(а|ев|ов|ие|ье|е|иями|ями|ами|еи|ии|и|ией|ей|ой|ий|й|иям|ям|ием|ем|ам|ом|о|у|ах|иях|ях|ы|ь|ию|ью|ю|ия|ья|я)$#u';
                    var $RVRE='#^(.*?[аеиоуыэюя])(.*)$#u';
                    var $DERIVATIONAL='#[^аеиоуыэюя][аеиоуыэюя]+[^аеиоуыэюя]+[аеиоуыэюя].*(?<=о)сть?$#u';
                    function s(&$s,$re,$to){$orig=$s;$s=preg_replace($re,$to,$s);return $orig !== $s;}
                    function m($s,$re){return preg_match($re,$s);}            
                    function stem_word($word){
                        $word=utf8_strtolower($word);
                        //$word=strtr($word,array('ё'=>'е'));
                        $word=str_ireplace('ё','е',$word);
                        if($this->Stem_Caching && isset($this->Stem_Cache[$word])){return $this->Stem_Cache[$word];}
                        $stem=$word;
                        do{
                          if(!preg_match($this->RVRE, $word, $p)) break;
                          $start=$p[1];$RV=$p[2];
                          if(!$RV) break;            
                          if(!$this->s($RV,$this->PERFECTIVEGROUND,'')){
                              $this->s($RV,$this->REFLEXIVE,'');
                              if($this->s($RV,$this->ADJECTIVE,'')){$this->s($RV,$this->PARTICIPLE,'');}
                              else{if(!$this->s($RV,$this->VERB,''))$this->s($RV,$this->NOUN,'');}
                          }
                          $this->s($RV, '#и$#u', '');
                          if($this->m($RV, $this->DERIVATIONAL)) $this->s($RV, '#ость?$#u', '');
                          if(!$this->s($RV,'#ь$#u','')){$this->s($RV,'#ейше?#u','');$this->s($RV,'#нн$#u','н');}
                          $stem=$start.$RV;
                        }
                        while(false);
                        if($this->Stem_Caching) $this->Stem_Cache[$word]=$stem;
                        return $stem;
                    }
                    function stem_caching($parm_ref){
                        $caching_level=@$parm_ref['-level'];
                        if($caching_level){
                            if(!$this->m($caching_level,'#^[012]$#u')){
                                die(__CLASS__ . "::stem_caching() - Legal values are '0','1' or '2'. '$caching_level' is not a legal value");
                            }
                            $this->Stem_Caching=$caching_level;
                        }
                        return $this->Stem_Caching;
                    }
                    function clear_stem_cache(){$this->Stem_Cache=array();}
                }
                $arr_words=explode(" ",$gquery);
                if(count($arr_words)>=1){
                    foreach($arr_words as $key=>$value){
                        $key= new Lingua_Stem_Ru();
                        $iter=$key->stem_word($value);
                        $sq[]=trim($iter);
                }}else die("Query Error");
                unset($sq[0]);
            }
            $search_columns=array("jb_board.title","jb_board.text","jb_board.tags");
            if(@$_GET['l']=="or"){
                $logic=" AND ((1!=1) ";
                foreach($sq as $key=>$value){
                    foreach($search_columns as $sckey=>$scvalue){
                        $logic.=" OR ".$scvalue." LIKE '%".$value."%' ";
                }}
                $logic.=") ";
            }else{
                $logic=" AND ( (1!=1) ";
                foreach($search_columns as $sckey=>$scvalue){
                    $logic.=" OR ( 1=1";
                    foreach($sq as $key=>$value){
                        $logic.=" AND ".$scvalue." LIKE '%".$value."%' ";
                    }
                    $logic.=") ";
                }
                $logic.=") ";
        }
        }
        else $logic="";
        if(@$_GET['time']=="0" || @$_GET['time']=="1" || @$_GET['time']=="7" || @$_GET['time']=="4" || @$_GET['time']=="6" || @$_GET['time']=="12"){
            if(@$_GET['time']==1)$search_time=" AND CURDATE()=DATE_FORMAT(jb_board.date_add,'%Y-%m-%d') "; 
            elseif(@$_GET['time']==7)$search_time=" AND DATE(jb_board.date_add)>=(CURDATE()-INTERVAL 3 DAY) ";
            elseif(@$_GET['time']==4)$search_time=" AND DATE(jb_board.date_add)>=(CURDATE()-INTERVAL 7 DAY) ";
            elseif(@$_GET['time']==6)$search_time=" AND DATE(jb_board.date_add)>=(CURDATE()-INTERVAL 14 DAY) ";
            elseif(@$_GET['time']==12)$search_time=" AND DATE(jb_board.date_add)>=(CURDATE()-INTERVAL 30 DAY) ";
            else $search_time="";
        }else $search_time="";
        if(@$_GET['type']=="0" || @$_GET['type']=="s" || @$_GET['type']=="p" || @$_GET['type']=="u" || @$_GET['type']=="o" || @$_GET['type']=="a" || @$_GET['type']=="v" || @$_GET['type']=="r"){
            if($_GET['type']!="0")$search_type=" AND jb_board.type='".$_GET['type']."' ";
            else $search_type="";
        }else $search_type="";
        if(ctype_digit(@$_GET['city']) && @$_GET['city']>"1"){
            $query_country=mysql_query("SELECT id FROM jb_city WHERE parent=".$_GET['city']); cq(); 
            $numrows_cities=mysql_num_rows($query_country);
            if(@$numrows_cities){
                $in_city=array();
                while($arrcities=mysql_fetch_assoc($query_country))$in_city[]=$arrcities['id'];
                $search_city=" AND jb_board.city_id IN (".implode(',',$in_city).") ";
            }else $search_city=" AND jb_board.city_id='".$_GET['city']."' ";
            $other_city_column=" , jb_board.city ";
            $other_city_rightjoin="";
        }else{
            $search_city="";
            $other_city_column=" , jb_city.city_name, jb_city.en_city_name ";
            $other_city_rightjoin=" LEFT JOIN jb_city ON jb_board.city_id = jb_city.id ";
        }
        if(ctype_digit(@$_GET['cat']) && @$_GET['cat']>0){
            $GLOBALS['searchcat']="";
            function listcat3($id,$sub){
                $categories=mysql_query("SELECT id, child_category FROM jb_board_cat WHERE root_category=".$id); cq(); 
                $count=0;
                while($category=mysql_fetch_assoc($categories)){    
                    if($category['child_category']==1)listcat3($category['id'],$sub+1);
                    else{
                        if($count==0)$delimiter="";else $delimiter=",";
                        $GLOBALS['searchcat'].=$delimiter.$category['id'];
                    }
                    $count++;
            }}
            $categories=mysql_query("SELECT child_category FROM jb_board_cat WHERE id='".$_GET['cat']."'");cq();
            if(mysql_num_rows($categories)){
                while($category=mysql_fetch_assoc($categories)){
                    if($category['child_category']==1)listcat3($_GET['cat'],1);
                    else $GLOBALS['searchcat'].=$_GET['cat'];
            }}else die("ERROR_3");
            if(@$GLOBALS['searchcat']!="")$search_cat=" AND jb_board.id_category IN (".$GLOBALS['searchcat'].") ";else $search_cat="";
        }else $search_cat="";
        if(ctype_digit(@$_GET['lp'])&& @$_GET['lp']>0)$lp=$_GET['lp'];else $lp=10;
        if(@$_GET['from']|| @$_GET['before']){
            $search_price=" AND jb_board.price!=0 ";
            if(ctype_digit(@$_GET['from'])&& @$_GET['from']>0)$search_price.=" AND jb_board.price>='".$_GET['from']."' ";
            if(ctype_digit(@$_GET['before'])&& @$_GET['before']>0)$search_price.=" AND jb_board.price <='".$_GET['before']."' ";
        }else $search_price="";
        if(@$_GET['images']=="1")$zz="SELECT jb_board.id, jb_photo.id_photo ".@$other_city_column." FROM jb_board ".@$other_city_rightjoin." LEFT JOIN jb_photo ON jb_board.id=jb_photo.id_message WHERE jb_board.old_mess='old' ".$logic.$search_time.$search_city.$search_type.$search_cat.$search_price; 
        else $zz="SELECT jb_board.id ".@$other_city_column." FROM jb_board ".@$other_city_rightjoin." WHERE jb_board.old_mess='old' ".$logic.$search_time.$search_city.$search_type.$search_cat.$search_price; 
        $result=mysql_query($zz);cq();
        if(@$result)$total_rows=mysql_num_rows($result);
        if(@$total_rows){
            if(ctype_digit(@$_GET['page']) && @$_GET['page']>0)$page=$_GET['page'];else $page=1;
            $tot=($total_rows-1)/$lp;
            $total=intval($tot+1);
            if($page>$total)$page=$total;
            $start=$page*$lp-$lp;
            if(@$_GET['images']=="1")$zzz="SELECT jb_board.id AS board_id, jb_board.id_category, jb_board.title, DATE_FORMAT(jb_board.date_add,'%d.%m.%Y') AS dateAdd, jb_photo.photo_name ".@$other_city_column." FROM jb_board ".@$other_city_rightjoin."    LEFT JOIN jb_photo ON jb_board.id = jb_photo.id_message    WHERE jb_board.old_mess='old' ".$logic.$search_time.$search_city.$search_type.$search_cat.$search_price." ORDER by board_id DESC LIMIT ".$start.", ".$lp;
            else $zzz="SELECT jb_board.id AS board_id, jb_board.id_category, jb_board.title, DATE_FORMAT(jb_board.date_add,'%d.%m.%Y') AS dateAdd ".@$other_city_column." FROM jb_board ".@$other_city_rightjoin." WHERE jb_board.old_mess='old' ".$logic.$search_time.$search_city.$search_type.$search_cat.$search_price." ORDER by board_id DESC LIMIT ".$start.", ".$lp;
            $last_add=mysql_query($zzz);cq();
            $numr_last_add = mysql_num_rows($last_add);
            if(@$numr_last_add){
                ?> <div style="font-size:15px; color:#111" ><?=$lang[178]?></div><br /><div style="padding:10px 25px"><b><?=$lang[1174]?></b> &nbsp;<?=$total_rows." ".PluralForm($total_rows,$lang[262],$lang[263],$lang[264])?></div><br />
                <div class="stradv b orange" style="background:#fff"><div class="o11 alcenter"><?=$lang[123]?></div><div class="o2 alcenter"><?=$lang[127]?></div><div class="o5 alcenter"><?=$lang[163]?></div><div class="clear"></div></div><?
                while($last=mysql_fetch_assoc($last_add)){
                    ?><div class="stradv"><div class="o11"><a class="b" title="<?=$last['title']?>" href="<?="c".$last['id_category']."-".$last['board_id']?>.html"><?=$last['title']?></a></div><div class="o2 alcenter"><? echo($last['dateAdd']==date("d.m.Y"))?$lang[531]:$last['dateAdd'];?></div><div class="o5"><?
                if(@$_GET['city']>1)echo $last['city']; 
                elseif(@$_GET['city']=="1"){
                    if(defined('JBLANG')&& constant('JBLANG')=='en') echo $last['en_city_name']; 
                    else echo $last['city_name'];}?></div><div class="clear"></div></div><? 
                }
                if($total_rows>=$lp){
                    $a="<a href=\"".$h."?op=search";
                    if(@$_GET['query'])$a.="&amp;query=".@$_GET['query'];
                    if(@$_GET['l'])$a.="&amp;l=".$_GET['l'];
                    if(@$_GET['nomorph'])$a.="&amp;nomorph=".@$_GET['nomorph'];
                    if(@$_GET['cat'])$a.="&amp;cat=".@$_GET['cat'];
                    if(@$_GET['type'])$a.="&amp;type=".@$_GET['type'];
                    if(@$_GET['images'])$a.="&amp;images=".@$_GET['images'];
                    if(@$_GET['city'])$a.="&amp;city=".@$_GET['city'];
                    if(@$_GET['from'])$a.="&amp;from=".@$_GET['from'];
                    if(@$_GET['before'])$a.="&amp;before=".@$_GET['before'];
                    if(@$_GET['time'])$a.="&amp;time=".@$_GET['time'];
                    $a.="&amp;page=";
                    if($page!=1)$pervpage=$a."1\" title=\"".$lang[174]."\">&nbsp;&nbsp;«&nbsp;&nbsp;</a> ";
                    if($page!=$total)$nextpage=$a.$total."\" title=\"".$lang[175]."\">&nbsp;&nbsp;»&nbsp;&nbsp;</a>";        
                    $pageleft="";$pageright="";
                    for($i=$c['limit_pagination_on_page'];$i>=1;$i--)if($page-$i>0)$pageleft.=$a.($page-$i)."\">".($page-$i)."</a>";
                    for($i=1;$i<=$c['limit_pagination_on_page'];$i++)if($page+$i<=$total)$pageright.=$a.($page+$i)."\">".($page+$i)."</a>"; 
                    echo "<div class=\"pagination\">".@$pervpage.@$pageleft."<b><span class=\"current\">".$page."</span></b>".@$pageright.@$nextpage."</div>";
            }}
        }else echo "<center><span class=\"red b\">".$lang[34]."</span>";
    }else{
        ?><div class="addform"><div style="font-size:15px; color:#111; "><?=$lang[179]?></div><br /><br /><form method="get" action="<?=$h?>"><input type="hidden" name="op" value="search" /><div class="lc"><?=$lang[655]?></div><div class="rc"><input name="query" type="text" size="50" maxlength="49" /></div><div class="pad"></div><div class="lc"><?=$lang[1034]?></div><div class="rc"><input type="radio" name="l" value="and" checked="checked" /> <?=$lang[1035]?> &nbsp; <input type="radio" name="l" value="or" /> <?=$lang[1036]?> &nbsp; &nbsp; &nbsp; <input type="checkbox" name="nomorph" /> <?=$lang[1037]?></div><div class="pad"></div><div class="lc"><?=$lang[122]?></div><div class="rc"><select class="w99" name="cat"><option value="0"><?=$lang[539]?></option><?
        $name_cat=(defined('JBLANG') && constant('JBLANG')=='en')?"en_name_cat":"name_cat";
        $categories=mysql_query("SELECT id,".$name_cat." FROM jb_board_cat WHERE root_category=0 ORDER by sort_index");  cq();
        while($category=mysql_fetch_assoc($categories)) echo "<option value=\"".$category['id']."\">".$category[$name_cat]."</option>";
        ?></select></div><div class="pad"></div><div class="lc"><?=$lang[114]?></div>
    <div class="rc">
    <select class="w99" name="type">
    <option value="0"><?=$lang[656]?></option>
    <option value="s"><?=$lang[414]?></option>
    <option value="p"><?=$lang[413]?></option>
    <option value="u"><?=$lang[800]?></option>
    <option value="o"><?=$lang[801]?></option>
    <option value="a"><?=$lang[2013]?></option>
    <option value="v"><?=$lang[2014]?></option>
    <option value="r"><?=$lang[2015]?></option>
    </select></div><div class="pad"></div>
    <div class="lc"><?=$lang[106]?></div>
    <div class="rc">
    <select class="w99" name="images">
    <option value="0"><?=$lang[656]?></option>
    <option value="1"><?=$lang[657]?></option>
    </select></div><div class="pad"></div>
    <div class="lc"><?=$lang[163]?></div>
    <div class="rc"><select name="city" class="w99">
    <option value="1"><?=$lang[164]?></option>
    <?
        if(@constant('JBLANG')==="en")$qcity="en_city_name";else $qcity="city_name";
        $q_city=mysql_query("SELECT id,".$qcity." FROM jb_city WHERE parent=0 ORDER by sort_index");cq(); 
        while($city=mysql_fetch_assoc($q_city)){
        echo "<option style=\"font-weight:bold;\" value=\"".$city['id']."\">".$city[$qcity]."</option>";
        $q_city_ch=mysql_query("SELECT id,".$qcity." FROM jb_city WHERE parent='".$city['id']."' ORDER by sort_index");cq();
        if(mysql_num_rows($q_city_ch)){
        while($city_ch=mysql_fetch_assoc($q_city_ch)){
        echo "<option value=\"".$city_ch['id']."\"";
        if(defined('JBCITY') && $city_ch['id']==JBCITY) echo " selected=\"selected\" ";
        echo "> &nbsp; &nbsp; &nbsp; &nbsp; ".$city_ch[$qcity]."</option>";
        }}}
        ?>
    </select></div>
    <div class="pad"></div>
    <div class="lc"><?=$lang[1008]?> (<?=$lang[1010]?>)</div>
    <div class="rc"><input type="text" name="from" onkeyup="ff2(this)" /> &mdash; <input type="text" name="before" onkeyup="ff2(this)" /></div>
    <div class="pad"></div>
    <div class="lc"><?=$lang[165]?></div>
    <div class="rc"><select class="w99" name="time">
    <option value="0"><?=$lang[166]?></option>
    <option value="1"><?=$lang[167]?></option>
    <option value="7"><?=$lang[168]?></option>
    <option value="4"><?=$lang[169]?></option>
    <option value="6"><?=$lang[170]?></option>
    <option value="12"><?=$lang[171]?></option>
    </select></div>
    <div class="pad"></div><br /><br />
    <div align="center">
    <input style="width:70%;" type="submit" value="<?=$lang[156]?>" /></div></form></div><br /><br /><br />
    <?
    }
    ?></div>
    </div></div><div class="cbbl"><div class="cbbr">&nbsp;</div></div>
    </div>
    search_form.inc.php
    PHP:
    <form action="<?=$h?>" style="padding:20px 0 0 14px">
    <input type="hidden" name="op" value="search" />
    <input title="<?=$lang[156]?>.." class="sbut" type="submit" value="" />
    <input class="sinput" name="query" type="text" value="<?=$lang[141]?>.." onfocus="this.value=''" onblur="if (this.value==''){this.value=''}" />
    <div style="padding:13px 21px 0 0; font-size:11px" align="right">
    <a onclick="toggle_s();return false;" href="<?=$h?>search.html" title="<?=$lang[146]?>">+ <?=$lang[146]?></a></div>
    <div id="toggle_s" >
    <div id="toggle_s_close">
    <a style="text-decoration:none;" class="sm b" onclick="toggle_s_close();return false;" href="#" title="close">X</a></div>
    <select name="cat" style="width:300px;"><option value="0"><?=$lang[539]?></option>
    <?
    $name_cat=(defined('JBLANG') && constant('JBLANG')=='en')?"en_name_cat":"name_cat";
    $categories=mysql_query("SELECT id,".$name_cat." FROM jb_board_cat WHERE root_category=0 ORDER by sort_index");  cq();
    while($category=mysql_fetch_assoc($categories)) echo "<option value=\"".$category['id']."\">".$category[$name_cat]."</option>";
    ?>
    </select>
    <div class="pad"></div>
    <select name="type" style="width:300px;"><option value="0"><?=$lang[620]?></option>
    <option value="p"><?=$lang[413]?></option>
    <option value="s"><?=$lang[414]?></option>
    <option value="u"><?=$lang[800]?></option>
    <option value="o"><?=$lang[801]?></option>
    <option value="a"><?=$lang[2013]?></option>
    <option value="v"><?=$lang[2014]?></option>
    <option value="r"><?=$lang[2015]?></option>
    </select>
    <div class="pad"></div>
    <select name="images" style="width:300px;">
    <option value="1" selected="selected"><?=$lang[657]?></option>
    <option value="0"><?=$lang[656]?></option>
    </select>
    <div class="pad"></div>
    <select name="city" style="width:300px;"><option value="1"><?=$lang[164]?></option>
    <?
    if(@constant('JBLANG')==="en")$qcity="en_city_name";else $qcity="city_name";
    $q_city=mysql_query("SELECT id,".$qcity." FROM jb_city WHERE parent=0 ORDER by sort_index");cq(); 
    while($city=mysql_fetch_assoc($q_city))echo "<option value=\"".$city['id']."\">".$city[$qcity]."</option>";
    ?>
    </select>
    <div class="pad"></div>
    <input size="10" type="text" name="from" onkeyup="ff2(this)" /> &mdash; 
    <input size="10" type="text" name="before" onkeyup="ff2(this)" /> <?=$lang[1008]?> (<?=$lang[1010]?>)<div class="pad"></div>
    <select name="time" style="width:300px;"><option value="4" selected="selected"><?=$lang[169]?></option>
    <option value="0"><?=$lang[166]?></option>
    <option value="1"><?=$lang[167]?></option>
    <option value="7"><?=$lang[168]?></option>
    <option value="6"><?=$lang[170]?></option>
    <option value="12"><?=$lang[171]?></option>
    </select>
    <div class="pad"></div></div></form>
    А вот дальше файлы которые выберают город
    changecity.php
    PHP:
    <?
    require_once(
    "../admin/conf.php");
    if (@
    $_POST['reset_city']){
        if(
    setcookie("jbcity","1",1,"/")){ ?><script type="text/javascript">opener.window.location.reload();window.close();</script><?
     }
        else die("Error. Cookie dont work.");
    }
    else if (ctype_digit(@$_POST['city'])){
        if(setcookie("jbcity",$_POST['city'],time()+77760000,"/")){ ?><script type="text/javascript">opener.window.location.reload();window.close();</script><?
     }
        else die("Error. Cookie dont work.");
    }else{
        require_once("jshttprequest.php");
        $JsHttpRequest=new JsHttpRequest("utf-8");
        echo "<script type=\"text/javascript\">var servername='".$h."';</script><script type=\"text/javascript\" src=\"".$im."main.js\"></script>";
        if(@constant('JBLANG')==="en") $qcity="en_city_name"; else $qcity="city_name";
        if (ctype_digit(@$_REQUEST['rootcity'])){
            if (@$_REQUEST['rootcity'] != "0"){
                $query=mysql_query("SELECT id, ".$qcity." FROM jb_city WHERE parent='".$_REQUEST['rootcity']."' ORDER by sort_index");
                $GLOBALS['_RESULT'] = "<select name=\"city\">";
                while($city=mysql_fetch_assoc($query)) $GLOBALS['_RESULT'].="<option value=\"".$city['id']."\">".$city[$qcity]."</option>";
                $GLOBALS['_RESULT'].="</select><input type=\"submit\" value=\"".$lang[59]."\">";
            }else $GLOBALS['_RESULT'].="<img hspace=\"20\" src=\"".$im."load.gif\">";
        }else{
            $query=mysql_query("SELECT id,".$qcity." FROM jb_city WHERE parent=0 ORDER by sort_index");
            echo "<form action=\"\" method=\"post\"><div style=\"float:left\"><select name=\"parentcity\" onchange=\"changecity(this.value);\"><option value=\"0\">".$lang[163]."</option>";
            while($parentcity=mysql_fetch_assoc($query))echo "<option value=\"".$parentcity['id']."\">".$parentcity[$qcity]." &rarr; </option>";
            echo "</select></div><div id=\"result\"></div><br /><br /><input name=\"reset_city\" type=\"submit\" value=\"".$lang[1005]."\"></form>";
        }
    }
    ?>
    rootcity.php
    PHP:
    <?
    require_once(
    "../admin/conf.php");
    require_once(
    "jshttprequest.php");
    $JsHttpRequest=new JsHttpRequest("utf-8");
    echo 
    "<script type=\"text/javascript\">var servername='".$h."';</script>
    <script type=\"text/javascript\" src=\""
    .$im."main.js\"></script>";
    if(@
    constant('JBLANG')==="en")$qcity="en_city_name";else $qcity="city_name";
    $query=mysql_query("SELECT id,".$qcity." FROM jb_city WHERE parent = 0 ORDER by sort_index"); cq();
    if (
    mysql_num_rows($query)){
        
    $sub_c="<select name=\"city\" onchange=\"selcity(this.value,'resultcity');\"><option value=\"no\" selected=\"selected\">".$lang[164]." &rarr;</option>";
        while(
    $sublist=mysql_fetch_assoc($query)) $sub_c .= "<option value=\"".$sublist['id']."\">".$sublist[$qcity]."</option>";
        
    $sub_c .= "</select>";
    }
    $GLOBALS['_RESULT'] = $sub_c;
    ?>
    selcity.php
    PHP:
    <?
    require_once(
    "../admin/conf.php");
    require_once(
    "jshttprequest.php");
    $JsHttpRequest=new JsHttpRequest("utf-8");
    echo 
    "<script type=\"text/javascript\">var servername='".$h."';</script>
    <script type=\"text/javascript\" src=\""
    .$im."main.js\"></script>";
    if(@
    constant('JBLANG')==="en")$qcity="en_city_name";else $qcity="city_name";
    if (
    ctype_digit(@$_REQUEST['id_root']) && @$_REQUEST['id_root']>"1" && ctype_alpha($_REQUEST['id_place'])){
        
    $query mysql_query("SELECT id,".$qcity." FROM jb_city WHERE parent='".@$_REQUEST['id_root']."' ORDER by sort_index");cq();
        if (
    mysql_num_rows($query)){
            
    $place "a".$_REQUEST['id_place'];
            
    $sub_c="<select name=\"city\" onchange=\"selcity(this.value,'".$place."');\"><option value=\"no\" selected=\"selected\">".$lang[163]."</option>";
            while(
    $sublist=mysql_fetch_assoc($query)) $sub_c.="<option value=\"".$sublist['id']."\">".$sublist[$qcity]."</option>";
            
    $sub_c .= "</select>";
        }
        if (@
    $place)$sub_c.="<div id=\"".$place."\"></div>";
        
    $GLOBALS['_RESULT']=(@$sub_c)?$sub_c:"";
    } else 
    $GLOBALS['_RESULT']="";
    ?>
     
Статус темы:
Закрыта.