2017-03-22 3 views
0

私はAndroidアプリを開発しています。私はこれを初めて使っています。私のデータは、Webサーバー上のMySQLに格納されています。私はPHPスクリプトを使ってMySQLからデータを読み込み、JSON文字列に変換してから、私のモバイルアプリケーションでAndroid JSONオブジェクトにアクセスしています。私のMySQLデータベースに複数の段落があるまでは、すべてうまくいきました。 PHPを使用してMySQLデータを読み込んでJSON文字列に変換すると、すべての段落が大きな段落になります。 Androidアプリはデータを正しく読み込んでいますが、問題はまだMySQLデータベースに格納されている複数の段落を読む必要があることです。誰かが私を正しい方向に導くか、これを整理することができますか?ヘルプをいただければ幸いです。JSON/PHP/Androidの段落を読む

以下はPHPのスクリプトファイルです。私はMySQLデータを読み込み、それをJSON文字列に変換するために使用しています。

接続ファイル:

<?php 
$db_name = "myDbName"; 
$mysql_username = "db_user"; 
$mysql_password = "db_password"; 
$server_name = "serverName"; 

$conn = mysqli_connect($server_name, $mysql_username, $mysql_password, $db_name); 


$sSQL= 'SET CHARACTER SET utf8'; 

mysqli_query($conn, $sSQL) or die ('Can\'t charset in DataBase'); 

if(!$conn) 
{ 
    die("Connection failed:" . mysqli_error($conn)); 
} 

?> 

のJSON coversionファイル:

<?php 
require "conn.php"; 

$sql_qry = "SELECT * FROM tabITArticles;"; 

$result = mysqli_query($conn, $sql_qry); 

$response = array(); 

while($row = mysqli_fetch_array($result)){ 

array_push($response, array("id"=>$row[0],"title"=>$row[1],"author"=>$row[2],"content"=>$row[3],"image"=>$row[4],"date"=>$row[5])); 
} 

echo json_encode(array("server_response"=>$response)); 

mysqli_close($conn); 
?> 

答えて

1

あなたは段落を維持するためにできることがいくつかあります。

あなたが行うことができ、データベースから情報を取得する場合:

$arr = explode(PHP_EOL, $row[3]); 

これは、配列内の文字列を分割し、その後、あなたはそれを渡すことができます。その後、アンドロイドで配列として取得します。

もう1つの方法は、\n\rのような組み合わせを使用して新しい行をPHPでエンコードすることです。

$str= str_replace(PHP_EOL, '\n', $row[3]); 

次に、文字列を分割して配列に格納することができます。

String[] str= stringfromjson.split("\n");