-2

行を選択する関数で使用$bankしたいShowDistrict

$sql = "SELECT DISTINCT `district` FROM `ctable` WHERE state='$_POST[id]' AND bank='$bank' ";

しかし、それは機能しません...これを行う方法はありますか?...前もって感謝します。

 class SelectList
 {
   protected $conn;

    public function __construct()
    {
        $this->DbConnect();
    }

    protected function DbConnect()
    {
        include "db_config.php";
        $this->conn = mysql_connect($host,$user,$password) OR die("Unable to connect to the database");
        mysql_select_db($db,$this->conn) OR die("can not select the database $db");
        return TRUE;
    }

    public function ShowBank()
    {
        $sql = "SELECT DISTINCT `bank` FROM `ctable` WHERE 1 LIMIT 0, 30 ";
        $res = mysql_query($sql,$this->conn);
        $bank = '<option value="0">choose...</option>';
        while($row = mysql_fetch_array($res))
        {
            $bank .= '<option value="' . $row['bank'] . '">' . $row['bank'] . '</option>';
        }
        return $bank;
    }

    public function ShowState()
    {
        $sql = "SELECT DISTINCT `state` FROM `ctable` WHERE bank='$_POST[id]'";
        $res = mysql_query($sql,$this->conn);
        $state = '<option value="0">choose...</option>';
        while($row = mysql_fetch_array($res))
        {
            $state .= '<option value="' . $row['state'] . '">' . $row['state'] . '</option>';
        }
        return $state;
    }


    public function ShowDistrict()
    {
        $sql = "SELECT DISTINCT `district` FROM `ctable` WHERE state='$_POST[id]'";
        $res = mysql_query($sql,$this->conn);
        $district = '<option value="0">choose...</option>';
        while($row = mysql_fetch_array($res))
        {
            $district .= '<option value="' . $row['district'] . '">' . $row['district'] . '</option>';
        }
        return $district;
    }


          public function ShowBranch()
    {
        $sql = "SELECT DISTINCT `bname` FROM `ctable` WHERE district='$_POST[id]'";
        $res = mysql_query($sql,$this->conn);
        $bname = '<option value="0">choose...</option>';
        while($row = mysql_fetch_array($res))
        {
            $bname .= '<option value="' . $row['bname'] . '">' . $row['bname'] . '</option>';
        }
        return $bname;
    }

}

$opt = new SelectList();
4

2 に答える 2

1

コメントでdecezeが述べているように、これを行います。

$bank = $this->showBank();

showBank()関数は値を返します$bank。したがって、関数からの戻り値を変数に渡し、$bankそれを使用できるようにします。

$thisクラス内の関数/変数を選択できます。

于 2012-06-19T09:04:40.670 に答える
0

あなたのコード $bank は、別の文字列と連結されるたびに while ループにある文字列です。

$bank には次のような文字列が含まれています

 "<option value='bank1'>bank1</option><option value='bank2'>bank2</option>...";

その文字列を返すと、不要なデータが含まれています

$sql = "SELECT DISTINCT `district` FROM `ctable` WHERE state='$_POST[id]' AND bank='$bank' ";
于 2012-06-19T09:07:08.430 に答える