4

sencha touch を使用してデータベースにリモート接続する方法 つまり、フォームを送信してリモート データベースに接続する方法を教えてください。フォームが正常に送信されたというデータベースからの応答をどのように取得しますか?

4

1 に答える 1

4

Ext.Ajaxリクエストを行うことで実行できます。

フォームに 3 つのフィールドがあると仮定しましょう:-

  • お名前 ( textfield)
  • パスワード ( passwordfield)
  • 年齢 ( numberfield)

以下に示すように、これらのフィールド値を取得します。

.....
.....
// form code ...
{
  xtype:'button',
  id:'submitBtn',
  text:'Submit',
  ui:'confirm',
  listeners : {
         tap : function() {
                var form = Ext.getCmp('form-id');
                var values = form.getValues();
                Ext.Ajax.request({
                      url: 'http://www.servername.com/insert.php',
                      params: values,

                      success: function(response){
                          var text = response.responseText;
                          Ext.Msg.alert('Success', text);
                     }

                     failure : function(response) {
                           Ext.Msg.alert('Error','Error while submitting the form');
                           console.log(response.responseText);
                     }
              });
         }
   }  
....
....

サーバー側では、insert.phpコードがデータベースに接続し、値を挿入してユーザーに応答を返します。

<?php 
$con = mysql_connect("server","username","password");
mysql_select_db('database_name',$con);

$insertQry = "INSERT INTO tableName(name,password,age) VALUES ('".$_POST['name']."','".$_POST['password']."','".$_POST['age']."')";

if(mysql_query($insertQry))
{
    echo('success');
}
else 
{
    echo('failure' . mysql_error());
}
?>
于 2012-04-30T12:24:43.123 に答える