我的数据库中有两个表。第一个“产品”有两行 - “id”和“title”,并在服务器上绑定了一个图像。第二个“模板”有三行 - “id”,“title”和“category”,还有一个绑定到它的图像。我想要的是,当“产品”中的“标题”和“模板”中的“类别”相同时,仅出现属于匹配类别的图像。例如,如果标题是“wine”,则只出现绑定到“wine”类别的图片。
<!--PRODUCTS-->
<h4>Choose Product</h4>
<div id="products" class="row">
<?php
while ($one = $products->fetch()) {
?>
<div class="col-xs-3 col-md-2">
<a class="thumbnail" data-id="<?= $one['id'] ?>">
<img src="/files/products/<?= $one['id'] ?>.jpg" alt="<?= $one['title'] ?>">
</a>
</div>
<?php
}
?>
</div>
<!--TEMPLATES-->
<h4>Choose Template</h4>
<div id="templates" class="row">
<?php
while ($one = $templates->fetch()) {
?>
<div class="col-xs-3 col-md-2">
<a class="thumbnail" data-price="<?= $one['price'] ?>" data-id="<?= $one['id'] ?>">
<img src="/files/templates/example/<?= $one['id'] ?>.jpg" alt="<?= $one['title'] ?>">
</a>
</div>
<?php
}
?>
现在,模板/示例文件中的每张图片都会出现。有没有办法在不改变代码的情况下做到这一点?我不知道问题的标题是否正确,如果需要,可以将其编辑为更合适的标题。
答案 0 :(得分:0)
我有一段时间没有完成MySQL,但是你正在寻找的查询类型是:
SELECT
t.image
FROM
templates AS t
JOIN
products AS p
ON
t.category = p.title
WHERE
t.category = 'wine'
LIMIT 1;