2011-10-27 17 views
0

appcelleratorsのチタンアプリケーションでアンドロイドアプリを構築しようとしています。質問があります。アプリケーションのウェブサイトはphp/mysqlを使用して構築されています。 、チタンはjavascript、html、cssのみを使用して動作するので、私はJavaScriptを使用してデータベースからデータを動的に取り出すことができますか?これはすでに投稿されている場合javascriptを使用してphp/mysql値を取得する

私は私が検索し、それを見つけるcouldntのごめんなさい:

+1

JS経由で直接 - いいえ。ただし、JSコードを使用してサービスを作成することはできません(PHPを使用してMySQLからJSON形式でデータを受信する)ので、引き続きチタニウムを使用することができます。 –

+0

APIとしても知られています。 –

答えて

1

に合ったものは何でも、あなたのデータベース応答配列を取ると、このようにそれをエンコード:

<?php 
json_encode($db_array); 
?> 

詳細情報:あなたはPHP 5.2以上で上が必要となりますことを http://php.net/manual/en/function.json-encode.php

注意をPHP用のJSON関数が組み込まれています。チタンで

、あなたはデータをつかむためにXHR(またはネットワークハンドラを)開くようにしたい:

var xhr = Ti.Network.createHTTPClient(); 
var.onload = function() 
{ 
    try 
    { 
     data = JSON.parse(this.responseText); 
    } 
    catch (excp) 
    { 
     alert('JSON parse failed'); 
    } 

    // you should handle your network async, meaning you should handle any renders or any post elements here. if you make it sync, you'll cause all other handlers and functions to work improperly (like click events, etc). 
} 

xhr.open("GET", "your url here"); 
xhr.send(); 

あなたは、単に[0] .some_colデータを呼び出すことにより、データ配列にアクセスすることができます。

0

はチタンアプリケーションでSQLiteのデータベースを使用する方法についてのチュートリアルを読んで試してみてくださいS
私はそれがiPhoneのためだが、基本的ですみません原理は使用

http://mobile.tutsplus.com/tutorials/appcelerator/titanium-mobile-database-driven-tables-with-sqlite/
http://mobile.tutsplus.com/tutorials/appcelerator/titanium-mobile-database-driven-tables-with-sqlite-part-2/
http://mobile.tutsplus.com/tutorials/appcelerator/titanium-mobile-database-driven-tables-with-sqlite-%E2%80%93-part-3/

同じであることは、このようなものです:

var db = Ti.Database.install('../products.sqlite','products'); 
var rows = db.execute('SELECT DISTINCT category FROM products'); 

ドキュメント:
http://developer.appcelerator.com/apidoc/mobile/1.3/Titanium.Database-module

0

最良の方法は、あなたがウェブサイトからデータベースにアクセスしていた場合json_encodeを使用してJSONを使用することです。ローカルデータベースを使用する場合は、sqliteを使用します。 http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.Network.HTTPClient-object

例は次のようになります:

var xhr = Titanium.Network.createHTTPClient(); 

xhr.onload = function() { 
    var data = this.responseText; //response is here 
    // do your thing within this scope, or call a function/event from here 
} 

var url = 'http://www.google.nl'; 
xhr.open("GET", url); // or "POST" 
xhr.send(); 

注意することを、あなたはここでそれを見ることができるウェブサイト上でWebサービスを構築し、Titanium.Network.HTTPClient

にデータを取得する必要が

0

たとえそれがグローバルであっても、データ変数はスコープ外ではアクセスできません。スコープ内から関数を呼び出す

アプリでは、SQLiteを使用するか、データを保存しないでください。 PHPを使用してアプリケーションのベスト

関連する問題