xcodeでPHPスクリプトを使用して3つの異なるテーブル(MySQL)からデータを取得しようとしています。異なるテーブルからJSONオブジェクトを識別する
私はあるテーブルから要素を取得する方法を知っていますが、xcodeで同じPHPスクリプトとNSURLSessionを使用して2つのテーブルからデータを取得できるように、このメソッドを拡張する方法がわかりません。一つのテーブル(作業)用
私のPHPスクリプト:
$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno(). ') ' . mysqli_connect_error());
}
$sql = "SELECT * FROM table1";
$test = $mysqli->query($sql);
$Nrows = $test->num_rows;
$resultArray = array();
if ($result = mysqli_query($mysqli, $sql)) {
while ($row = $result->fetch_assoc()) {
$resultArray[] = $row;
}
echo json_encode($resultArray);
}
else {
echo 'oups.';
}
は、今の問題は、私は他の二つのテーブルと同じことをやりたいということです。
getElementFunction.php
<?php
function getElements()
{
$test = $mysqli->query($sql);
$Nrows = $test->num_rows;
$resultArray = array();
if ($result = mysqli_query($mysqli, $sql)) {
while ($row = $result->fetch_assoc()) {
$resultArray[] = $row;
}
echo json_encode($resultArray);
}
else {
echo 'oups.';
}
}
?>
main_file.php:
私は別のPHPファイル(getElementFunction.phpを言う)と、メインファイルでこのメソッドを呼び出すには、私のフェッチ方式を取り入れてみましたしかし、私はそれが正しいのかどうか、私はxcodeスクリプトで使用するために返される別のjsonオブジェクトを「フラグする」ことができません。 1つのURLで1つのループでフェッチ処理を実行したいとします。念のために
、私はどのテーブルから指定する方法が必要になり、私のObjective-Cのスクリプトは、JSONオブジェクトが返されます... NSURLSessionと
Xcodeのスクリプト:
id jsonObject = [NSJSONSerialization JSONObjectWithData:_downloadedData options:NSJSONReadingAllowFragments error:&error];
if ([jsonObject isKindOfClass:[NSArray class]]) {
NSArray *deserializedArray = (NSArray *)jsonObject;
if (deserializedArray.count > 0) {
dispatch_async(dispatch_get_main_queue(), ^{
...
}
をした場合誰かが私を助けることができました...
ありがとう!
それは非常に良さそうに見えますが、あなたに感謝し、私は戻って、任意のデータを得ることはありません。私は応答(NSURLSession didReceiveResposne)を持っていますが、データは返っていません... – Trichophyton
不幸にも、私はXCodeに慣れていません。問題がどこであるかを識別するために 'getElements()'の 'PHP'レスポンスをダンプしようとしてください。 _(これは私のforeachや 'JSON'オブジェクト( 'PHP'スクリプトによってレンダリングされる)から' NSJSONSerialization'オブジェクトに変換されますか?)_ – Delphine
var_dump($ finalResultsArray);関数の本体に何も表示されません(空白ページ...)。 :-( – Trichophyton