侧栏

时间:2017-03-04 21:51:35

标签: php mysql location osclass

我有问题我需要显示这样的位置:

-country

- 区域

---城市

-country

- 区域

---城市

我有国家和地区,但我不知道如何按地区显示城市。

这是我的代码:`

                    <?php if(osc_count_countries() > 0 ) { ?>

                    <div class="box location">

                        <h3><strong><?php _e("Location", 'bender') ; ?></strong></h3>

                        <ul>

                        <?php while(osc_has_countries() ) { ?>

                            <li><a href="<?php echo osc_country_url( array( 'sCountry' => osc_list_country_code() ) ) ; ?>"><?php echo osc_country_name() ; ?> <em>(<?php echo osc_country_items() ; ?>)</em></a></li>





                        <?php  if (osc_country_name() =='Austria')  { ?>

                            <ul>

                                <?php View::newInstance()->_erase('regions');







        View::newInstance()->_exportVariableToView('regions', Search::newInstance()->listRegions('AT', '>') ) ; 



                                if(osc_count_regions('AT') > 0 ) { 



                                while(osc_has_regions('AT') ) { ?>

                                    <li><a href="<?php echo osc_search_url(array('sRegion' => osc_region_name()));?>"><?php echo osc_region_name() ; ?> <em>(<?php echo osc_region_items() ; ?>)</em></a></li>

                                <?php } ?>   

                            </ul>

                            <?php }  ?>







                        <?php }  ?>`

请帮帮我

2 个答案:

答案 0 :(得分:0)

您是否看过文档中的助手?

https://doc.osclass.org/HLocation.php

与列表国家和地区非常相似:

<?php if(osc_count_countries() > 0 ) { ?>  
    <?php while(osc_has_countries()) { ?>
        ...
    <?php } ?>  
<?php } ?> 

<?php if(osc_count_regions() > 0 ) { ?>  
    <?php while(osc_has_regions()) { ?>
        ...
    <?php } ?>  
<?php } ?> 

但是:

<?php if(osc_count_cities() > 0 ) { ?>  
    <?php while(osc_has_cities()) { ?>
        ...
    <?php } ?>  
<?php } ?>  

好的,这是完整的代码:

<?php if(osc_count_countries() > 0 ) { ?>
    <?php while(osc_has_countries()) { ?>
        <li><a href="<?php echo osc_country_url();?>"><?php echo osc_country_name() ; ?> <em>(<?php echo osc_country_items() ; ?>)</em></a></li>
        <?php if(osc_count_regions() > 0 ) { ?> 
            <?php while(osc_has_regions()) { ?> 
                <li><a href="<?php echo osc_region_url();?>">-<?php echo osc_region_name() ; ?> <em>(<?php echo osc_region_items() ; ?>)</em></a></li>
                <?php if(osc_count_cities(osc_list_region_id()) > 0 ) { ?>  
                    <?php while(osc_has_cities()) { ?>
                        <li><a href="<?php echo osc_city_url();?>">--<?php echo osc_city_name() ; ?> <em>(<?php echo osc_city_items() ; ?>)</em></a></li>
                    <?php } ?>  
                <?php } ?>
            <?php } ?>
        <?php } ?>
    <?php } ?> 
<?php } ?> 

这将加载所有国家&gt;&gt;区域&gt;&gt;像这样的城市:

  • 国家/地区

    • 区域
  • 国家/地区

    • 区域

... 这是一堆数据,取决于你有多少个城市。 因此,我建议您改用Ajax。

/index.php?page=ajax&action=cities&regionId =%

答案 1 :(得分:0)

我尝试使用此代码来自http://forums.osclass.org/general-help/get-'navigation'-to-show-cities-instead-of-region /

<ul>
<?php while(osc_has_list_regions()) { ?>
    <li> <a href="<?php echo osc_update_search_url( array( 'sRegion'=>osc_list_region_name(), 'sCity'=>'' ) ); ?>"><?php echo osc_list_region_name(); ?></a> <em>(<?php echo osc_list_region_items(); ?>)</em>
        <?php if ( osc_count_list_cities(osc_list_region_name()) > 0 ) { ?>
            <ul>
                <?php while( osc_has_list_cities() ) { ?>
                    <li> <a href="<?php echo osc_update_search_url( array( 'sRegion'=>osc_list_region_name(), 'sCity' => osc_list_city_name() ) ); ?>"><?php echo osc_list_city_name(); ?></a> <em>(<?php echo osc_list_city_items(); ?>)</em> </li>
                <?php } ?>
            </ul>
        <?php } ?>
    </li>
<?php } ?>

但是此代码显示了所有地区的地区和所有城市,显示地区及其城市仅包含项目......