使用PHP比较来自不同数据库表的两个变量

时间:2014-04-02 16:58:47

标签: php sql

我的数据库中有两个表。第一个“产品”有两行 - “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
}
?>

现在,模板/示例文件中的每张图片都会出现。有没有办法在不改变代码的情况下做到这一点?我不知道问题的标题是否正确,如果需要,可以将其编辑为更合适的标题。

1 个答案:

答案 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;