سؤال

I'm having tough time connecting flex to MySql through zend php. I saw a couple of examples using HTTP service. My question is as follows

1) I'm doing a simple insert and update only, just three tables. So should i use all those Zend AMF to achieve this? 2) Else what about using HTTPService?

The display was easiest operation using zend AMF, but when i tried inserting values, i was lost.

I'd a php file vo.php to store database field variables, but i could not use require_once function in main php file

This is 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;
    }

this is patientService file

//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;
  }

Can anyone give a link to good detailed example? So i can refer and understand better?

هل كانت مفيدة؟

المحلول

HTTPService is here to be used to request any kind of HTTP ressource inside of Flex. If you want you can design your own JSon or XML based webservice that will do the needed operation on your table. This strategy front end independent, if you choose to switch front-end techno, from Flex to HTML/Ajax, for instance you won't have to do any change on your backend.

The other solution is to use Zend_AMF to enable direct interaction with your PHP object from Flex through AMF.

I've always prefered to use the first solution (with no more interesting reasons than I better understood what I do), but the second one should give you some productivity gain if you plan do to a flex only front end.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top