次のようなiPhoneコードがあります
FMDatabase *database = [FMDatabase databaseWithPath:dbPath];
[database open];
NSString *sqlSelectQuery = @"SELECT * FROM drinks";
// Query result
FMResultSet *results = [database executeQuery:sqlSelectQuery];
while([results next])
{
Drinks *drink = [[Drinks alloc] init];
[drink setDrinkId:[results intForColumn:@"id"]];
[drink setVenueId:[results intForColumn:@"venueId"]];
[drink setName:[results stringForColumn:@"name"]];
[drink setType:[results intForColumn:@"venueId"]];
NSMutableArray *servingSizes = [[NSMutableArray alloc] init];
NSString *sqlSelectQuery = [NSString stringWithFormat:@"SELECT * FROM servingSizes WHERE drinkId = %d", drink.drinkId];
FMResultSet *servingResult = [database executeQuery:sqlSelectQuery];
while([servingResult next])
{
Servings *serving = [[Servings alloc] init];
[serving setDrinkId:[servingResult intForColumn:@"drinkId"]];
[serving setServingId:[servingResult intForColumn:@"id"]];
[serving setServingSize:[servingResult intForColumn:@"servingSize"]];
[serving setPrice:[servingResult intForColumn:@"price"]];
[servingSizes addObject:serving];
}
[drink setServingsArray:servingSizes];
[drinksArray addObject:drink];
}
基本的に、このコードは組み込みデータベースを読み取り、オブジェクト DRINK を作成し、ドリンクの ID から、テーブルからオブジェクト Servings の配列を取得します。
とても簡単なことですが、PHPサーバー側で次のことをしたいです。
これが私のコードです
function GetAllDrinks()
{
try {
$conn = $this->GetDBConnection();
$statement = $conn->prepare('SELECT * FROM drinks');
$statement->execute();
if(!($row = $statement->fetchAll(PDO::FETCH_ASSOC)))
{
return false;
}
foreach($row as $drink)
{
$drinkId = $row->id;
$statement = $conn->prepare('SELECT * FROM servingTable WHERE id = :drinkId)');
$statement->bindParam(':drinkId' , $drinkId, PDO::PARAM_INT);
$statement->execute();
if(($serve = $statement->fetchAll(PDO::FETCH_ASSOC)))
{
// WHAT TO DO HERE
}
}
$conn = null;
return $row;
} catch(PDOException $e) {
throw $e;
}
return $row;
}
すべてのJSON文字列を作成したいのですが、わかりませんどうすれば飲み物オブジェクトにサービングを追加できますか? 私はPHPの専門家ではないので、誰かに助けてもらいたいです