我有一个包含表格的数据库:
fish(值为name,image,information,cooking_type_id)和 cooking_type(值为cooking_type_id,缩略图)
我创建了一个非常简单的mysqli查询来显示第一个表中的数据,但我想根据id显示缩略图。
因此,对于cooking_type,“Grill”的cooking_type_id为1.鱼“Cod”适合于烧烤,它在“type_id”下保持值为1。
如何显示“1”而不显示缩略图?
这是我的查询代码:
$query = "SELECT * FROM `fish`";
$result = $mysqli->query($query);
$mysqli->set_charset("utf8");
while($row = mysqli_fetch_array($result)){
echo '<div class="row" style="background-color:#fff;">';
echo '<div class="col-sm-2">';
echo '<div class="listphoto">';
echo $row['image'];
echo '</div></div>';
echo '<div class="col-sm-2">';
echo '<div class="listtext"><h3>';
echo $row['name'];
echo '</h3></div></div>';
echo '<div class="col-sm-2">';
echo '<div class="typephoto">';
echo $row['type_id'];
echo '</div></div>';
echo '</div>';
}
mysqli_close($conn);
答案 0 :(得分:1)
$query = "SELECT fish.image, fish.name, cooking_type.thumbnail FROM fish
JOIN cooking_type
ON fish.cooking_type_id = cooking_type.cooking_type_id;";
$result = $mysqli->query($query);
$mysqli->set_charset("utf8");
while($row = mysqli_fetch_array($result)){
echo '<div class="row" style="background-color:#fff;">';
echo '<div class="col-sm-2">';
echo '<div class="listphoto">';
echo $row['image'];
echo '</div></div>';
echo '<div class="col-sm-2">';
echo '<div class="listtext"><h3>';
echo $row['name'];
echo '</h3></div></div>';
echo '<div class="col-sm-2">';
echo '<div class="typephoto">';
echo $row['thumbnail'];
echo '</div></div>';
echo '</div>';
}
mysqli_close($conn);
答案 1 :(得分:0)
使用JOIN SQL功能:
SELECT *
FROM `fish`
INNER JOIN `cooking_type`
ON `cooking_type`.`cooking_type_id` = `fish`.`cooking_type_id`
答案 2 :(得分:0)
试试这个
select f.*, ct.* from `fish` as f
left join `cooking_type` as ct
on f.cooking_type_id = ct.cooking_type_id
答案 3 :(得分:0)
使用“INNER JOIN”可以轻松解决您的问题:
Select * from fish
inner join 'cooking_type' on ............etc, etc