首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dropdown基于前面使用php类的dropdown

Dropdown基于前面使用php类的dropdown
EN

Stack Overflow用户
提问于 2014-08-01 06:00:44
回答 1查看 107关注 0票数 0

我的页面中有以下下拉列表

代码语言:javascript
复制
<label for="state">State: </label>
<select name="state" class="dropdown">
<option value="" selected>Please Select</option>
<?php echo $states->getStates(); ?>
</select>

dropdown本身工作,并用状态填充自己,没有问题。但现在我希望它能够选择一个州,并根据该州的城市下拉列表显示该州的相应城市。

下面是我的类。我只是想不出如何调用myclass的getCity函数,并将状态下拉列表中的选定值传递给它。

states.php

代码语言:javascript
复制
class states{
function getStates(){
        $success = false;
        try{
            $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); 
            $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
            $sql = "SELECT DISTINCT(state) FROM tbl_zip ORDER BY state ASC";

            $stmt = $con->prepare( $sql );
            $stmt->execute();


            $valid = $stmt->fetchAll();

            if( $valid ) {
                $success = true;
                    $list = "";
                    // Loop through list of states
                    foreach($valid as $row) {
                        $list .= '<option value=\"' . $row["state"] .'\">' . $row["state"] . '</option>';
                    }   

            }


            $con = null;
            return $list;
         }catch (PDOException $e) {
             echo $e->getMessage();
             return $success;
         }
    }

    function getCity($state){
        $success = false;
        try{
            $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); 
            $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
            $sql = "SELECT DISTINCT city FROM tbl_zip WHERE state = :state ORDER BY city ASC";

            $stmt = $con->prepare( $sql );
            $stmt->bindValue( "state", $state , PDO::PARAM_STR );
            $stmt->execute();


            $valid = $stmt->fetchAll();

            if( $valid ) {
                $success = true;
                    $list = '<select name=\"state\">';
                    $list .= '<option value=\"\" selected>Please Select</option>';
                    // Loop through list of states
                    foreach($valid as $row) {
                        $list .= '<option value=\"' . $row["city"] .'\">' . $row["city"] . '</option>';
                    }   
                    $list .= '</select>';
            }


            $con = null;
            return $list;
         }catch (PDOException $e) {
             echo $e->getMessage();
             return $success;
         }
    }                                               
}
EN

回答 1

Stack Overflow用户

发布于 2014-08-01 06:10:56

不确定,到底是什么困扰着你,但是这个怎么样:

代码语言:javascript
复制
$city = $states->getCity($_POST['state']);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25069661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档