【发布时间】:2020-02-20 15:46:49
【问题描述】:
这是一个“食谱个人网站”,我被搜索功能卡住了。 首先让我告诉你数据库是怎样的:
1 个表 categories :配方的类型 Link for image
1 表配料:食谱中使用的所有配料 Link for image
1 表 recettes :所有食谱都存储在其类别的列中 Link for image
1 表 ingredient_recette:链接构成特定配方的所有成分和数量 Link for image
在这里我想创建一个页面,我可以在其中搜索包含例如 1 或 2 种特殊成分的食谱,以及我想搜索的类别。 Link for search page image
这是我暂时完成的search.php...(你可以在codeshare.io看到它)
如何继续搜索仅包含选定的食谱 成分?
<?php
include("cnx.php");
include("functions.php");
// Query pour les catégories
$rq_cat = "SELECT * FROM categories ORDER BY id_cat";
$result_cat = $mysqli->query($rq_cat);
if(isset($_POST["Recherche"]) AND $_POST["Recherche"] == "Go")
{
if($_POST["cat_recette"] == "") // Si aucune catégorie sélectionnée
{
echo "Aucune catégorie ";
$rq_recettes = "SELECT * FROM recettes";
$result_recettes = $mysqli->query($rq_recettes);
}
elseif($_POST["cat_recette"] == "Entrée") // Si catégorie Entrée sélectionnée
{
echo "Catégorie Entrée ";
}
elseif($_POST["cat_recette"] == "Plat") // Si catégorie Plat sélectionnée
{
echo "Catégorie Plat ";
$rq_recettes = "SELECT * FROM recettes WHERE cat_recette='Plat'";
$result_recettes = $mysqli->query($rq_recettes);
}
elseif($_POST["cat_recette"] == "Dessert") // Si catégorie Dessert sélectionnée
{
echo "Catégorie Dessert ";
$rq_recettes = "SELECT * FROM recettes WHERE cat_recette='Dessert'";
$result_recettes = $mysqli->query($rq_recettes);
}
elseif($_POST["cat_recette"] == "Soupe") // Si catégorie Soupe sélectionnée
{
echo "Catégorie Soupe ";
$rq_recettes = "SELECT * FROM recettes WHERE cat_recette='Soupe'";
$result_recettes = $mysqli->query($rq_recettes);
}
elseif($_POST["cat_recette"] == "Autre") // Si catégorie Autre sélectionnée
{
echo "Catégorie Autre ";
$rq_recettes = "SELECT * FROM recettes WHERE cat_recette='Autre'";
$result_recettes = $mysqli->query($rq_recettes);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css?family=Quando&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
<title>cooketal</title>
</head>
<body class="search">
<header>
<?php
include("nav.php");
?>
</header>
<div class="banner">
<h2>Recherche</h2>
</div>
<section class="all-recipes add left">
<div class="frigo-ing col-3">
<table>
<div class="contenu">
<form action="" method="POST">
<h1>Les ingrédients que je possède</h1>
<?php for ($i=1; $i < 10 ; $i++) { ?>
<table>
<th><span><?php echo $i ?></span></th>
<td>
<select name="ing<?php echo $i; ?>">
<option value="" selected>- - - -</option>
<?php
$rq_ingredients = "SELECT * FROM ingredients ORDER BY nom_ingredient ASC";
$result_ingredients = $mysqli->query($rq_ingredients);
while($row_ingredients = $result_ingredients->fetch_object()){ ?>
<option value="<?php echo $row_ingredients->id_ingredient; ?>"><?php echo $row_ingredients->nom_ingredient; ?></option>
<?php } ?>
</select>
</td>
</table>
<?php } ?>
<h1>Une catégorie en particulier ?</h1>
<select id="cat-recette" name="cat_recette">
<option value="">- - - -</option>
<?php
$rq_cat = "SELECT * FROM categories ORDER BY id_cat";
$result_cat = $mysqli->query($rq_cat);
while( $row_cat = $result_cat->fetch_object()){ ?>
<option value="<?php echo $row_cat->cat_recette; ?>" <?php if( isset( $_POST["cat_recette"]) AND $_POST["cat_recette"] == $row_cat->cat_recette){ echo "selected";} ?>><?php echo $row_cat->cat_recette; ?></option>
<?php } ?>
</select><br>
<input type="submit" name="Recherche" value="Go">
</form>
</div>
</table>
</div>
<div class="frigo-ing col-3">
<h1>Résultats</h1>
</div>
</section>
【问题讨论】:
-
能否请您告诉我,如果有一个按钮可以触发提取具有特殊成分的物品的事件,那将是可以接受的。
-
只要有效,什么都可以接受!
-
我的代码有效。如果不告诉我。