Flex PHP сервис - PullRequest
       18

Flex PHP сервис

0 голосов
/ 02 февраля 2011

Уже пару дней рву на себе волосы. От них мало что осталось; -)

У меня возникает странная проблема, когда я хочу привязать сервис к кнопке или к чему-то еще:

файлы: - CDPC.php

<?php

require_once ('VOcdpc.php');

class CDPC {

    var $username = "root";
    var $password = "";
    var $server = "localhost";
    var $port = "3306";
    var $databasename = "xoffercommon";
    var $tablename = "tblcity";

    var $connection;

    public function __construct() {
        $this->connection = mysqli_connect(
                            $this->server,  
                            $this->username,  
                            $this->password, 
                            $this->databasename,
                            $this->port
                        );
        mysqli_set_charset($this->connection,'utf8');

        $this->throwExceptionOnError($this->connection);
    }

    public function getCDPC($cityID) {

        $con = mysql_connect("localhost","root","");
        if (!$con)
       {
            die('Could not connect: ' . mysql_error());
        }

        mysql_select_db("xoffercommon", $con);

        $cdpc_Id = new Vocdpc();
        $cdpc_Id->id_cdpc = 1;
        $cdpc_Id->city_Id=$cityID;

        $result_prov = mysql_query("SELECT tblProvence_Id FROM tblCity WHERE Id = " . $cityID);
        $row = mysql_fetch_array($result_prov);
        $cdpc_Id->provence_Id=intval($row['tblProvence_Id']);

        $result_dist = mysql_query("SELECT tblDistrict_Id FROM tblProvence WHERE Id = " . $cdpc_Id->provence_Id);
            $row = mysql_fetch_array($result_dist);
        $cdpc_Id->district_Id=intval($row['tblDistrict_Id']);

        $result_coun = mysql_query("SELECT tblCountry_Id FROM tblDistrict WHERE Id = " . $cdpc_Id->district_Id);
            $row = mysql_fetch_array($result_coun);
            $cdpc_Id->country_Id=intval($row['tblCountry_Id']);

            return $cdpc_Id;
            mysql_close($con);
    }

    private function throwExceptionOnError($link = null) {
        if($link == null) {
                $link = $this->connection;
        }
        if(mysqli_error($link)) {
            $msg = mysqli_errno($link) . ": " . mysqli_error($link);
                throw new Exception('MySQL Error - '. $msg);
            }       
    }
}
?>

VOcpdc.php

 <?php
 class VOcdpc
 {
     public $id_cdpc;
     public $country_Id;
     public $district_Id;
     public $provence_Id;
     public $city_Id;
     // explicit actionscript class
     var $_explicitType = "Vocdpc";
 }
 ?>

В Flex Builder

Я могу добавить службы на панель «Службы данных», но у меня есть две странные вещи:

1) когда я хочу настроить тип возвращаемого значения, он не позволяет мне создать новый тип ValueObject, я получаю только нижнюю сетку данных, в которой говорится: свойства, возвращаемые операцией: district_Id со связанными значениями на правой стороне. Почему я не могу создать новый тип данных сверху?

2) Когда я принимаю это и хочу добавить сервисный вызов к кнопке (перетаскивание), я получаю следующую ошибку: Произошла ошибка при создании кода. Убедитесь, что никаких ошибок компилятора нет, и повторите попытку после повторного открытия файла. Тип компонента services.cdpc.CDPC не найден ...

(ps: когда я выполняю тестовую операцию, все вроде бы нормально, я получаю ожидаемые выходные значения)

1 Ответ

0 голосов
/ 02 февраля 2011

это класс, включенный в основной файл cdpc.php, пост, очевидно, удаляет его, поэтому вот файл VOcpdc:

// explicit actionscript class
var $_explicitType = "Vocdpc";

} ?>

...