使用PHP比较来自不同数据库表的两个变量
我的数据库中有两个表。第一个“产品”有两行——“id”和“title”,并在服务器上绑定了一个图像。第二个“模板”有三行——“id”、“title”和“category”,还绑定了一个图像。我想要的是,当“产品”中的“标题”和“模板”中的“类别”相同时,只显示属于匹配类别的图像。例如,如果标题为“wine”,则只应显示绑定到“wine”类别的图片使用PHP比较来自不同数据库表的两个变量,php,sql,Php,Sql,我的数据库中有两个表。第一个“产品”有两行——“id”和“title”,并在服务器上绑定了一个图像。第二个“模板”有三行——“id”、“title”和“category”,还绑定了一个图像。我想要的是,当“产品”中的“标题”和“模板”中的“类别”相同时,只显示属于匹配类别的图像。例如,如果标题为“wine”,则只应显示绑定到“wine”类别的图片 <!--PRODUCTS--> <h4>Choose Product</h4> <div id="produ
<!--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
}
?>
选择产品
">
选择模板
">
现在,模板/示例文件中的每一张图片都会出现。有没有一种方法可以在不改变代码的情况下实现呢?我不知道问题的标题是否正确,如果需要,请将其编辑为更合适的标题。我已经有一段时间没有使用MySQL了,但我认为您正在查找的查询类型如下:
SELECT
t.image
FROM
templates AS t
JOIN
products AS p
ON
t.category = p.title
WHERE
t.category = 'wine'
LIMIT 1;
为什么不使用Join?你能详细说明一下,在哪里添加这些行吗?我的“产品”和“模板”已经在文件“home.php”中定义,如下:$products=$DB->query('SELECT*FROM products')$模板=$DB->query('SELECT*fromtemplates');这是一个查询,因此在您的案例中使用它:
imageQuery=$DB->query('SELECT t.image…LIMIT 1')代码>SQL本身就是一种完整的语言,而不仅仅是PHP用来存储东西的随机工具。您应该进一步了解SQL本身,因为它非常方便。存储过程和触发器之类的东西可以使开发在未来变得更容易、更安全。