我有两个不同的表: categories 和 products . 每个表都有 category_id
列 . 为了在 SELECT-ing
时输出数组,我正在使用 echo htmlentities
.
选择产品名称和价格等字段的SQL语法是什么产品 category_id=categories
category_id? (行 Headers 相同 - >名称(在prod . 上)和名称(在cat上) .
请记住,我首先要根据产品表中的标准选择产品,之后如果 category_id
来自cat . 表等于产品表中的category_id然后它将显示类别名称(WHICH IS IN类别表)
这是原始代码:
<?php
include('includes/global.php');
$sql = $db->query("SELECT name FROM ".DB_PREFIX."products WHERE active=1 AND closed=0 AND deleted=0 AND approved = 1 AND name LIKE '%".htmlentities($_GET["search"], ENT_QUOTES)."%' LIMIT 20");
while($product_array = $db->fetch_array($sql)) {
echo htmlentities($product_array["name"], ENT_QUOTES, $lang[codepage])."\n";
}
这是我试过的:
$sql = $db->query("SELECT a.name,a.buy_price,c.name FROM ".DB_PREFIX."products a WHERE active=1 AND closed=0 AND deleted=0 AND approved = 1 AND name LIKE '% ".htmlentities($_GET["search"], ENT_QUOTES)."%' INNER JOIN ".DB_PREFIX."categories c ON a.category_id = c.category_id LIMIT 20");
while($product_array = $db->fetch_array($sql)) {
echo htmlentities($product_array["name"], ENT_QUOTES, $lang[codepage])." for ";
echo htmlentities($product_array["buy_price"], ENT_QUOTES, $lang[codepage])." from category ";
echo htmlentities($product_array[" * categoryname"], ENT_QUOTES, $lang[codepage])."\n";
}
有什么建议?
2 回答
我认为这是一个有序的问题,整个表需要先构建 .
这是我得到的最终代码,在搜索时没有输出(在相应的搜索框中) . 我个人认为合并两个表中的数据存在问题 . 或许我认为这不是回应这些问题的正确方法 .