[アンドロイド] JSONのtrongのアンドロイド – 一部 2: PHPのJSONによってデータベースからのエクスポート
みなさん、こんにちは, セクションの 2 これだけで、データベースを作成するために、ご案内します, データベースからデータを照会するためのコマンドを書いて、JSONを生成.
MySQLとPHPの知識の数に関連記事あなたが注意を払う必要があります, あなたはそれを聞いたことがない場合、それは大丈夫です, 非常に単純な解雇.
私は上のデータベースを構築するためにあなたをご案内します Hostinger 簡単で、同期のために.
コンテンツ
データベースを作成します
データベースを作成する> MySQLデータベース - データベースに行きます:
名前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:
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
あなたが愛する何をされ、その後JSONという名前のファイルをエクスポートするために使用されるプロパティ最終PHPファイル.
あなたが使用されているサーバが返すデータは、RESTfulなWebサービスを形成している方法かどうかを尋ねるためには持っていません ?
オフラインでファイルlover.phpファイル.
私はこの方法の名前はああ何であるかわかりません. :))
私はパートにmysql_connectエラーで再びそれを試してみました()… それは、ピットを実行するように、その正しくありません. まあ、彼女はHostinger無料で実行.
DB_USER前方DB_DATABASEおよび多くを必要とします “u425550055_ “あなたがいない時
例:
[はい. 私は上記のことに留意してきましたし、.
私はあなただけの構造のリンクを助けることができます https://www.cachhoc.net/mobile/demo-json/lover.php?test=true&nick=quan KO先生?
あなたは、その構造を表示するには、リンクをクリックすること, その前に見て、その出力を構築します.
私は、標準構造の.jsonありませんよ. これは、そのリンク構造であり、. 私は犬CLIENアクセスリンクのために支払うことを喜びました.
リンクは、あなた次第です、その後, リンクCUAファイル, あなたが設定された変数に仕上げ. あなたが最後に気づきます “.PHP?KEY2 = VALUE1&KEY2 =値2” その後、キーと値を使用して、渡したい変数であります
https://www.cachhoc.net/ (hostting)
モバイル/ (フォルダ)
デモ-JSON / (この、先生は何ですか)
lover.php?テスト=真&関連ニック= ( ここで再び、先生)
đó cũng là folder mà 🙂
ウェイター. 子供のための文書はありませんが、先生は、機能を削除します? 私は尋ねてみましょう 1 小さな子供たちは、条件の関数がKO先生を削除安定化などのユーザーIDでユーザーを選択します?
ハムは上のその前に言っている彼の党を削除. あなたは退職の条件に進みます. 例えば、その上顎、あなたは、この書き込みを行います:
削除する(「tb_user」,「ID = ‘ . $イド){
尋ねるEのA: Eはもっとやりたいです 1 情報を取得する機能 1 クライアント通信だけでは誰がa.Tuc 1 IDまで,受信サーバは、ID情報を返します。 1 người đó thôi.Thì phải viết thêm hàm và một biến nhận ID như thế nào nữa ạ.E cảm ơn và mong a đừng xóa bài em ạ 🙂
あなたは同じように全体を取るだけ取りますか 1 人のみ. 彼のdatabase.phpでファイルの書き込みには 1 SelectOneコンテンツます. あなたは、ある機能を選択するために、idコマンドに従ってください.
私に聞いてみましょう : データベース・ユーザーズ・恋人後部座席を作成するプロパティは、設定ファイルを置きます,モバイル・デモPHP-JSONのAです? E Kの明確なので、私はまだ、DCを実行していないこの場所.
ああ, 彼らは彼のブログからデータベースおよびホストを使用するように. あなたはhostingerでデータベースを作成します, 作成された上記のように、ユーザがフォーマットをu2345_loverます.
Eを求めます. 糞のPOSTメソッドBIEN $方法. すなわち時にリクエストを送信したクライアント. 一人でこれだけのリンク: https://www.cachhoc.net/mobile/demo-json/lover.php . はいk個のA? しかし、すべての以前に未読の電子は不思議前よりよく理解したいです 2 この方法A ?
A〜Eの間違い, “次の未読ポスト”
[はい.
できるサーバー機能のログへの書き込みアクセスは、常にではありません? .私はログインありません,登録し、,しかし、どのようにログアウトがわかりません?
あなたを停止簡単その後サインアウト, あなたが戻ってログインインターフェイスをお返しし、データを削除 (ユーザー & パス) アンドロイドのShrePreferce中です
私はとにかくそれをサーバーと同期させなければならないと思いますが、. あなたがこれを行う場合は、ユーザーkのduoc.Viもeがあることがログインしたときにデータを削除する必要があります 1 アクティビティ. ログインは、それがまだ、アクティビティログとして残るログインインタフェースを判明した場合Activty khac.Nenに移動し、成功します :で
UKM, ちょうどそのように.
“私はちょうど私が二次のGET総務によって取得され、変数$テストを使用していることに注意してください, すなわちテストデータブラウザへのパスに乗ります” あなたの質問NGU市場があります
// Webブラウザからのテストのために
$テスト= $ _GET['テスト'];
もし($テストが真==します){
$ニック= $ _GET[「ニック」];
$方法= $ METHOD_GET_OLD_LOVER;
}
CHANGE」テスト’ ちなみにホストまたは多くのおかげSO love.phpファイルに取っています.
Cho mình hỏi làm sao để tạo json dạng gson trong php
Mình ko hiểu ý của bạn lắm? Nếu muốn xuất json thì bạn cứ dùng php rồi echo ra.
Msはあなたが3fileサー上記デシベルに接続するためのフォルダで、最終的にも、出力ファイルのJSに執筆を依頼するものです.
[はい
Cho mình hỏi vấn đề như sau.
あなたのhtmlコードのJSON出力とは、ソースコードを表示するとき、それは、データベース内の単語のフィールドを持っている場合は、HTMLのタグ形式そのビューのですが、それは常にではありません. ない解決する方法は、それらではありません ?
旅行者のための: 絵と彼の記事で, それは使用するためにコードの行の形成を示さないJSON出力
それがそうであるJSON, テキストのみとあなたオフライン何もありません.