-1

私はフォームを持っています..挿入ボタンをクリックすると、値はデータベースに保存される必要があります..しかし、私のフォームでは、フォームを開くとデフォルト値がdbに保存されます.私はこれらすべてをphp mvcアーキテクチャで開発しています.

これは私のコントローラーです:

 <?php
        class ControllerSaleAd extends Controller {
private $error = array();

         public function index() {

    $this->load->language('sale/ad');


    $this->document->setTitle($this->language->get('heading_title'));


$this->data['heading_title']=$this->language->get('heading_title');
$this->data['entry_customer_name'] = $this->language->get('entry_customer_name');
$this->data['column_name']=$this->language->get('column_name');
$this->data['column_place'] = $this->language->get('column_place');
$this->data['column_date'] = $this->language->get('column_date');

$this->data['column_units'] = $this->language->get('column_units');
$this->data['column_price'] = $this->language->get('column_price');
$this->data['button_insert'] = $this->language->get('button_insert');


$this->data['breadcrumbs'] = array();

$this->data['breadcrumbs'][] = array(
            'text'      => $this->language->get('text_home'),
            'href'      => $this->url->link('sale/ad', 'token=' . $this->session->data['token'], 'SSL'),
            'separator' => false
);

$url='';
$this->data['action'] = $this->url->link('sale/ad', 'token=' . $this->session->data['token'] . $url, 'SSL');

$this->template='sale/ad.tpl';
$this->children = array(
            'common/header',
            'common/footer'
);


$this->load->model('sale/ad');






$this->insert();

$this->response->setOutput($this->render());
      }

public function insert() {



    $customer = $_POST['entry_customer_name'];
    $adtype = $_POST['column_name'];
    $adplace=$_POST['column_place'];
    $date=$_POST['column_date'];
    $units=$_POST['column_units'];
    $price=$_POST['column_price'];


    $data=array();

    $data = array (

     'customer' => $customer,
     'adtype'  =>  $adtype,
     'adplace'  => $adplace,
     'date'     => $date,
     'units'    => $units,
     'price'    => $price,
    );


$this->model_sale_ad->insert($data);
    }

}




      ?>

挿入ボタンをクリックすると、insert() 関数を呼び出す必要があります....そのように書く方法を教えてください...

4

1 に答える 1

0

あなたの考えは少し混乱しているようです。クライアント側で PHP コードを実行することはできません (つまり、ユーザーがボタンをクリックしたとき)。

できることは、レコードを挿入する PHP ページへの AJAX 呼び出しです。
現在のフレームワークの多くには、AJAX アクションを簡単に管理するためのライブラリがあります。

ここでさらに読むことができます: http://en.wikipedia.org/wiki/Ajax_ (プログラミング)

于 2012-04-30T12:20:40.090 に答える