2016-04-01 6 views
1

カテゴリごとにレシピとカテゴリーがある料理アプリを作成しています。ユーザーがBREAKFASTカテゴリをタップすると、BREAKFASTに割り当てられたすべてのレシピが表示されます。それを表示するには、それは私のPHPファイルに依存しますが、その間、すべてのカテゴリで同じレシピ(データベース内のレシピ全体)を表示し、割り当てられたカテゴリに応じてレシピを表示しません。Androidデータベース:PHPファイルに多対多の関係を表示するには

割り当てられているカテゴリに応じてレシピを表示する方法を助けてください(例:朝食:パンケーキ、スープ、ランチ:スープ、ピザ、ディナー:ピザ、バーガー)。注意:レシピは異なるカテゴリに割り当てることもできます... ありがとう!

PHPファイル

<?php 
require_once 'include/DB_Connect.php'; 
$db = new Db_Connect(); 
$conn = $db->connect(); 
if(isset($_GET['recipeId'])){ 
$id = $_GET['recipeId']; 
    $result = $conn->query("SELECT * FROM recipe where id=$id"); 
}else{ 
    $result = $conn->query("SELECT * FROM recipe"); 
} 

if ($result->num_rows > 0) { 
    $list = array(); 
while($row = $result->fetch_assoc()) { 
    array_push($list, $row); 
} 
    echo json_encode(array('result' => $list)); 
} else { 
    echo json_encode("no result"); 
} 
?> 

多対多

enter image description here

phpMyAdminの

enter image description here

カテゴリ

のプレビュー3210

enter image description here

レシピはあなたのDBのエントリのそれぞれについて

enter image description here

答えて

0

それは、 'ID' のように見えるがユニークである(これまでに)(各カテゴリへのデータベースから同じ全体のレシピを表示します)。だからid =の質問?

$result = $conn->query("SELECT * FROM recipe where id=$id"); 

は、1つのエントリのみを返します。

$result = $conn->query("SELECT * FROM recipe where recipe_id=$id"); 

をそれはcourse_type_id試みだ場合::

$result = $conn->query("SELECT * FROM recipe where course_type_id=$id"); 

は、私はあなたのカテゴリ欄には、それが試みる 'recipe_id' だ場合、ある列わからないんだけど