我正在尝试选择类别(仅类别),其中字段(位于单独的表格中)的显示值设置为 1。
我设法用 INNER JOIN 做到了,但问题是,这会得到所有东西(甚至是字段本身),所以当我尝试使用 while 和打印类别时,它打印一个类别的次数和字段一样多那里。
$get_cats = dbquery("SELECT A.field_cat_name, A.field_cat_id FROM ".DB_USER_FIELD_CATS." A INNER JOIN ".DB_USER_FIELDS." B ON A.field_cat_id=B.field_cat WHERE B.field_show!='0' ORDER BY field_cat_order");
while ($cat = dbarray($get_cats)){
echo "<div class='tester' id='cat-".$cat['field_cat_id']."'><span>".$cat['field_cat_name']."</span></div>";
}
返回
CONTACT INFORMATION
CONTACT INFORMATION
CONTACT INFORMATION
CONTACT INFORMATION
CONTACT INFORMATION
CONTACT INFORMATION
CONTACT INFORMATION
MISCELLANEOUS INFORMATION
MISCELLANEOUS INFORMATION
STATISTICS
STATISTICS
STATISTICS
一些想法?我尝试使用谷歌搜索,但不知道要告诉谷歌搜索什么,所以它会显示相关结果。
长话短说
我需要获取显示值设置为 1 的所有字段的所有类别。类别和字段位于单独的表中。
谢谢。
最佳答案
尽量使用distinct。
SELECT DISTINCT
A.field_cat_name,
A.field_cat_id
FROM ".DB_USER_FIELD_CATS." A
INNER JOIN ".DB_USER_FIELDS." B
ON A.field_cat_id=B.field_cat
WHERE B.field_show!='0'
ORDER BY field_cat_order
关于php - SQL选择字段设置为显示的类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29446518/