[アンドロイド] JSONのtrongのアンドロイド – 一部 2: PHPのJSONによってデータベースからのエクスポート

みなさん、こんにちは, セクションの 2 これだけで、データベースを作成するために、ご案内します, データベースからデータを照会するためのコマンドを書いて、JSONを生成.

MySQLとPHPの知識の数に関連記事あなたが注意を払う必要があります, あなたはそれを聞いたことがない場合、それは大丈夫です, 非常に単純な解雇.

私は上のデータベースを構築するためにあなたをご案内します Hostinger 簡単で、同期のために.

データベースを作成します

データベースを作成する> MySQLデータベース - データベースに行きます:

Hostinger内のデータベース

名前databseを入力してください, ユーザー名とパスワードを終了します.

タオデータベース

作成した後, phpMyAdminのにphpMyAdminのをインタフェースするために、先ほど作成したデータベースをクリックして選択.
今、私たちは、データベース・テーブルの作成を開始. 私たちのアプリケーションは、古い恋人であります (かつての恋人), これは、作成する必要があります 2 £: ユーザテーブル格納されたユーザリスト, そしてテーブルは、ユーザーのEXEファイルを保存old_loverリスト.

表ユーザーが挙げられます 2 学校があります:

nick -> kiểu: varchar(50)	định dạng: utf8_unicode_ci	là khóa chính
pass -> kiểu: varchar(50)	định dạng: utf8_unicode_ci

含まold_lover表 6 学校:

id	-> kiểu:int(11)		AUTO_INCREMENT là khóa chính
nick	-> kiểu: varchar(50)	định dạng: utf8_unicode_ci		
name -> kiểu: varchar(50)	định dạng: utf8_unicode_ci
begin_date -> kiểu: varchar(10)
end_date -> kiểu: varchar(10)
phone -> kiểu: varchar(15)

愛と別れの日中BEGIN_DATEとEND_DATE日中=)). 私たちは何を比較する必要はありませんが、ちょうどあなたではなく、日付や日時NHEよりもvarchar型を使用する必要があります表示するには.

データベースを作成した後, あなたがテーブルに一部のレコードを挿入し、挿入するために行きます. このような彼の例:
表ユーザー:
テーブルのユーザー

BANG old_lover:
テーブルold_lover

PHPのデータベース接続およびJSON出力を使用して

このセクションでは、プログラミング言語のPHPに触れ始めます, これは、Javaに似ています, 唯一のわずかに異なるコマンド構造わずか.

あなたとファイル - >ファイルを管理します
ファイル

ファイル管理インタフェースの表示は、コンピュータ上のようになります。, あなたはいつもここでPHPファイルを書き込んだり、それらをよく含むように新しいフォルダを作成することができます, 私は、ディレクトリが作成されます モバイル ここで, 複数のフォルダを作成します 古い恋人trongモバイル

古い恋人フォルダ

私たちは一歩一歩を移動します: 設定 - >接続 - >書き込みクエリコマンド - > [エクスポートJSON

ライト設定ファイル

注意: この時点から以降、あなたのブログ上のデータベースとホストを取ります, データベース・Hostingerを使用, ユーザー,… u520716618_lover形成します,… 上記のように、我々は設定しました
我々は書きます 1 データベース名を設定するためのファイル, ユーザー, 接続サービスのために渡します. 古い恋人のフォルダでは、作成しました 1 名前のファイル config.php 以下の内容で:

<?php
	define("DB_HOST", "localhost");
	define("DB_USER", "mobile-demo-json");
	define("DB_PASSWORD", "mobile-demo-json");
	define("DB_DATABASE", "mobile-demo-json");
?>

その中であなたは、データベースのユーザー名に合わせて修正する必要があります, データベース名, データベースを作成する手順に置かれているパスワード. PHPファイルが置かれる場所よりもここで現在のホスト ローカルホスト, あなたのユーザ名とパスワードがあります モバイル・デモ-JSON

ファイルのデータベース接続を書きます

次に、作成 1 名前のファイル db_connect.php コンテンツを使用して、データベース接続を実行します:

<?php
     
    class DB_Connect {
     
        // constructor
        function __construct() {
     
        }
     
        // destructor
        function __destruct() {
            // $this->close();
        }
     
        // Connecting to database
        public function connect() {
            require_once 'config.php';
            $con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
            mysql_set_charset('utf8', $con);
            mysql_select_db(DB_DATABASE);
            return $con;
        }
     
        public function close() {
            mysql_close();
        }
     
    } 
?>

データベース操作機能を含むファイルを書きます

このファイルには、選択されたデータベースを操作するために、すべての機能が含まれて, インサート, アップデート,…
あなたが作成したファイル db_functions.php コンテンツを持ちます:

<?php

    class DB_Functions {

        private $db;

        // constructor
        function __construct() {
            include_once './db_connect.php';
            $this->db = new DB_Connect();
            $this->db->connect();
        }
        
        public function selectall($sql){
            $result=mysql_query($sql);
            while($row=@mysql_fetch_assoc($result)){
                $result_all[]=$row;
            }
            mysql_free_result($result);
            return @$result_all;
        }
        
        public function selectone($sql){
            $result=mysql_query($sql);
            $resultone=@mysql_fetch_assoc($result);
            mysql_free_result($result);
            return $resultone;
        }
        
        function numrow($sql){
            $result=mysql_query($sql);
            $row=mysql_num_rows($result);
            mysql_free_result($result);
            return $row;
        }

        function update($table,$data,$where){
            $sql='';
            foreach($data as $key => $value){
                $sql .=", $key = '".mysql_real_escape_string($value)."'";
            }

            $sql='UPDATE '.$table. ' SET '.trim($sql, ',').' WHERE ' .$where;
            return mysql_query($sql);
        }

        function insert($table, $data){
            $field_list='';
            $value_list='';
            foreach($data as $key => $value){
                $field_list .=",$key";
                $value_list .=",'".mysql_real_escape_string($value)."'";
            }

            $sql='INSERT INTO '.$table.'('.trim($field_list, ',').') VALUES ('.trim($value_list, ',').')';
            return mysql_query($sql);
        }

        function delete($table,$where){
            $sql="DELETE FROM $table WHERE $where";
            return mysql_query($sql);
        }
    }

?>

これらの機能は、多くの説明なしに自分自身を作ります, 次のように私はいくつかの注目すべきものを見ました:

  • __construct() コンストラクタ, それは、データベースに接続することですので、我々は常に含める必要があります (含めます) ファイル db_connect.php この中.

  • 文では、彼の記録の使用を取りました mysql_fetch_assoc それは、私たちはテーブルのカラム名にレコードを取得することができますので、, あなたが使用している場合 mysql_fetch_array それは、列名と表の列数と、その後私たちのJSON出力不要な余剰の両方がかかります, それが重くなるよう.

  • 私が使用しています mysql_real_escape_stringの 更新機能を伴う、そのキーの値と一致するように, インサート. これは、私たちは値を保持し、構文エラーのSQLクエリーを避けることができますも、それにいくつかの特殊文字を持っています.

JSON出力を書きます

これが私たちの最終的なファイルです, アンドロイドと直接やりとりするファイル.
私たちは持っています 4 次のように動作します:
– ログイン
– 登録された
– EXEファイルのリストを取得
– リストかつての恋人に追加

だから我々は持っているでしょう 4 アンドロイドからのリクエストを受信したときにこれらのアクションをナビゲートするために回します.

<?php header('Content-Type: application/json; charset=utf-8'); ?>

<?php
    
    $METHOD_LOGIN = 1;
    $METHOD_REGISTER = 2;
    $METHOD_GET_OLD_LOVER = 3;
    $METHOD_ADD_OLD_LOVER = 4;

    include_once 'db_functions.php';

    $db = new DB_Functions();

    $nick = $_POST['nick'];    
    $method = $_POST['method'];

    // for test from web browser
    $test = $_GET['test'];
    if($test==true){
        $nick = $_GET['nick'];
        $method = $METHOD_GET_OLD_LOVER;
    }
    
    if($method == $METHOD_LOGIN) {
        $sql = "SELECT * FROM user WHERE nick = '$nick'";
        $rs = $db->selectone($sql);

        if($rs['pass'] == $_POST['pass']){
            $result['login'] = true;
        }else{
            $result['login'] = false;
        }
    }

    if($method == $METHOD_REGISTER) {
        $data = array();
        $data['nick'] = $nick;
        $data['pass'] = $_POST['pass'];
        
        $rs = $db->insert('user', $data);
        if($rs){
            $result['register'] = true;
        }else{
            $result['register'] = false;
        }
    }

    if($method == $METHOD_GET_OLD_LOVER) {
        $sql = "SELECT * FROM old_lover WHERE nick = '$nick'";
        $result = $db->selectall($sql);
    }

    if($method == $METHOD_ADD_OLD_LOVER){
        $data = array();
        $data['nick'] = $nick;
        $data['name'] = $_POST['name'];
        $data['phone'] = $_POST['phone'];
        $data['begin_date'] = $_POST['begin_date'];
        $data['end_date'] = $_POST['end_date'];

        $rs = $db->insert('old_lover', $data);
        if($rs){
            $result['add'] = true;
        }else{
            $result['add'] = false;
        }
    }
      
    $json = json_encode($result, JSON_PRETTY_PRINT); 
    // $json = json_encode($result); // use on hostinger
    print_r($json);
?>

このファイルのコードは、完全に理解できます, 私はちょうど私が二次のGET総務によって取得され、変数$テストを使用していることに注意してください, すなわちテストデータブラウザへのパスに乗ります. あなたは彼の元恋人のリストをテストするには、次のリンクにアクセスしてテストすることができます:
HTTPS://www.cachhoc.net/mobile/demo-json/lover.php?テスト=真&関連ニック=

それはそれだ. 次の記事では、Androidの操作を有効にする始めます.

チュートリアルで行われた投稿 JSONのtrongのアンドロイド によって nguyenvanquan7826