База данных 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");
}
?>

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

1

Решение

Похоже, «id» уникален (пока) для каждой из ваших записей в БД. Так запрос id =?

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

собирается вернуть только одну запись.

Я не уверен, какой столбец является столбцом вашей категории, если это ‘recipe_id’, попробуйте:

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

Если это course_type_id, попробуйте:

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

Другие решения

Других решений пока нет …