Adobe Flex для вставки базы данных, обновления? - PullRequest
1 голос
/ 27 ноября 2011

Мне тяжело подключить flex к MySql через zend php.Я видел пару примеров использования сервиса HTTP.У меня такой вопрос:

1) Я делаю простую вставку и обновляю только три таблицы.Так должен ли я использовать все эти Zend AMF для достижения этой цели?2) А как насчет использования HTTPService?

Дисплей был самым простым в работе с использованием Zend AMF, но когда я попытался вставить значения, я был потерян.

Я бы написал php-файл vo.php для хранения переменных поля базы данных, но я не смог использовать функцию require_once в основном php-файле

Это vo.php

    class vo {

        public $id;
        public $username;
        public $symptom;
        public $number_of_times_tested;
        public $original_image;
        public $sequence_of_actions;
        public $customized_image;
        public $percieved_image;
    }

это файл PatientService

//require_once 'vo.php';

class patientService { 
  var $username = "root"; 
  var $password = ""; 
  var $server = "localhost"; 
  var $port = "3306"; 
  var $databasename = "patient"; 
  var $tablename = "records"; 

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

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

  public function getpatient() {
     $stmt = mysqli_prepare($this->connection,
          "SELECT
              records.id,
              records.username,
              records.symptom,
              records.number_of_times_tested,
              records.original_image,
              records.sequence_of_actions,
              records.customized_image,
              records.percieved_image
            FROM records");     

      $this->throwExceptionOnError();

      mysqli_stmt_execute($stmt);
      $this->throwExceptionOnError();

      $rows = array();
      mysqli_stmt_bind_result($stmt, $row->id, $row->username,
                    $row->symptom, $row->number_of_times_tested, $row->original_image,  $row->sequence_of_actions, $row->customized_image, $row->percieved_image
                    );

      while (mysqli_stmt_fetch($stmt)) {
          $rows[] = $row;
          $row = new stdClass();
          mysqli_stmt_bind_result($stmt, $row->id, $row->username,
                    $row->symptom, $row->number_of_times_tested, $row->original_image,  $row->sequence_of_actions, $row->customized_image, $row->percieved_image
                    );

      }

      mysqli_stmt_free_result($stmt);
      mysqli_close($this->connection);

      return $rows;
  }  
/* create a entry for database patient 
*/
    public function createPatient($item) {
    $stmt = mysqli_prepare($this->connection,
        "INSERT INTO patient (
            id,username,symptom,number_of_times_tested,original_image,sequence_of_actions,  
            customized_image,percieved_image) 
        VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
    $this->throwExceptionOnError();


    mysqli_bind_param($stmt, $item->id , $item->username, $item->symptom,$item->number_of_times_tested,$item->original_image,
        $item->sequence_of_actions, $item->customized_image, $item->percieved_image
    );

    $item->id = '5';
    $item->username = 'abhilash';
    $item->symptom = 'retina pigmentosa'; 
    $item->number_of_times_tested = '3';
    $item->original_image = 'img';
    $item->sequence_of_actions = 'l1l2l2lr3';
    $item->customized_image = 'img';
    $item->percieved_image = 'img';

    $this->throwExceptionOnError();



    mysqli_stmt_execute($stmt);
    $this->throwExceptionOnError();


    $autoid = mysqli_stmt_insert_id($stmt);


    mysqli_stmt_free_result($stmt);
    mysqli_close($this->connection);

    return $autoid;
  }

Кто-нибудь может дать ссылку на хороший подробный пример?Так я могу обратиться и понять лучше?

1 Ответ

0 голосов
/ 27 ноября 2011

HTTPService используется здесь для запроса любого вида HTTP-ресурса внутри Flex.Если вы хотите, вы можете создать свой собственный веб-сервис на основе JSon или XML, который будет выполнять необходимые операции на вашем столе.Эта стратегия независима от внешнего интерфейса, если вы решите переключить внешний интерфейс техно с Flex на HTML / Ajax, например, вам не придется вносить какие-либо изменения в ваш бэкэнд.

Другое решение заключается в использованииZend_AMF для обеспечения прямого взаимодействия с вашим PHP-объектом из Flex через AMF.

Я всегда предпочитал использовать первое решение (без каких-либо более интересных причин, чем я лучше понял, что я делаю), но второе должнодаст вам некоторый прирост производительности, если вы планируете использовать только гибкий интерфейс.

...