我的数据库中有两个表。即 food_dish 和 foodcat 。食物菜是用于菜肴,而foodcat是用于食物的类别。
这是food_dish中的一个例子:
dish_id | dish name | dish_cat
1 | Plain Rice | 1
2 | Pork Chop | 2
3 | Buttered Rice | 1
并在foodcat:
cat_id | cat_name
1 | Rice
2 | Pork
我想在我的 menurice.php 表中仅显示普通米饭。我想知道我是否可以将 dish_cat 与 cat_id 相关联,以便我致电 < em> cat_id 1 它只会显示 Rices 的名称。
<table class="table table-striped table-bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>ID</th>
<th>Dish Name</th>
<th> Actions </th>
</tr>
</thead>
<tbody>
<?php
include 'menuactions/foodconnect.php';
$sql1= "SELECT * FROM `food_dish`";
$data= mysqli_query($conn,$sql1) or die("Connection Failed!");
while($row = mysqli_fetch_array($data, MYSQLI_ASSOC)){
?>
<tr class="odd gradeX">
<td> <?php echo $row['dish_id']?> </td>
<td> <?php echo $row['dish_name']?> </td>
<td>
<div class='btn-group'>
<form action='deleterice.php' method='POST'>
<button class='btn btn-default' type='submit'><a class='fa fa-trash-o'> Delete</a></button>
<input type='hidden' value=" <?php echo $row['dish_id'];?>" name="iduse">
</form>
</div>
</td>
</tr>
<?php
}
?>
答案 0 :(得分:0)
你的意思是,当你去menurice.php?cat_id=1
时,它应该只显示Rices?
使用此查询:SELECT * FROM food_dish WHERE dish_cat = ?
并将$_GET['cat_id']
绑定到查询。
例如:
$stmt = mysqli_prepare($conn, "SELECT dish_id, dish_name FROM food_dish WHERE dish_cat = ?");
mysqli_stmt_bind_param($stmt, "i", $_GET['cat_id']);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $dish_id, $dish_name);
while (mysqli_stmt_fetch($stmt)) {
?>
<tr class="odd gradeX">
<td> <?php echo $dish_id; ?> </td>
<td> <?php echo $dish_name; ?> </td>
<td>
<div class='btn-group'>
<form action='deleterice.php' method='POST'>
<button class='btn btn-default' type='submit'><a class='fa fa-trash-o'> Delete</a></button>
<input type='hidden' value="<?php echo $dish_id; ?>" name="iduse">
</form>
</div>
</td>
</tr>
<?php
}
答案 1 :(得分:0)
我想您要使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
<table>
<thead>
<th>Header1</th>
<th>Header2</th>
</thead>
<tbody>
<tr>
<td><input type="checkbox" id=0 /></td>
<td>TEXT1</td>
</tr>
<tr>
<td><input type="checkbox" id=1 checked/></td>
<td>TEXT2</td>
</tr>
</tbody>
</table>
</body>
</html>
表中的名称来代替foodcat
表中的名称。
因此您可以使用food_dish
或inner join
命令。以下sql命令将起作用:
union
它将产生以下结果: id名称 1饭 2猪肉 3米饭
希望它有所帮助。
答案 2 :(得分:0)
试试这个。此查询将dish_cat链接到cat_id,并且仅当dish_cat和cat_id都相等时才返回菜名。
SELECT food_dish.`dish name` FROM food_dish, foodcat
WHERE cat_id = 1 AND (food_dish.dish_cat = foodcat.cat_id);
在此处传递您选择的cat_id值。
以上查询输出cat_id 1的米名:
菜名
普通大米
奶油米饭