我试图整理一个允许我在我的网站上动态显示链接的脚本。
我有2张桌子。第一个domains
每行可以有两个值。这些是domId
和domain
。下一个表links
每行可以包含几个值,我在这里使用的是domId
(匹配domains
表的domId)desc
和`link ”。
到目前为止,这是我的查询:
$linkQuery2 = 'SELECT `link`,`desc`,`domId`
FROM `links`
WHERE `catId`="'.$pageCat.'"
&& (`modId`="1" || modId="'.$pageModel.'")
ORDER BY `domainId` ASC
LIMIT ' . $from . ', ' . $max_results2;
以下是我用来显示我需要的信息的代码:
$linkLoop2 = '';
$linkAd = $row['link'];
$linkDesc = stripslashes($row['desc']);
$linkDomain = stripslashes($row['id']);
$linkLoop = '<ul class="bymodel-dllinks">';
$linkLoop2 .= '<li><a href="'.$linkAd.'" target="_tab">'.$linkDesc.' '.$linkDomain.'</a></li>';
$linkLoop3 = '</ul>';
我想要做的是找到一种方法,以便当$ linkDomain被回显时,它将显示我存储在domain
表的domains
字段中的文本。目前,当回显$linkDomain
时,它将显示303,这是我将链接到的网站的domId
。
答案 0 :(得分:1)
使用Join从domainstable中选择域名:
$linkQuery2 = 'SELECT l.link,l.desc,l.domId,d.domain
FROM links l LEFT JOIN domains d ON d.domid = l.domid
WHERE l.catId="'.$pageCat.'"
&& (l.modId="1" || l.modId="'.$pageModel.'")
ORDER BY l.domainId ASC
LIMIT ' . $from . ', ' . $max_results2;
答案 1 :(得分:0)
将domain
列添加到您的select语句中。
$linkQuery2 = 'SELECT `link`,`desc`,`domId`,`domain`
FROM `links`
WHERE `catId`="'.$pageCat.'"
&& (`modId`="1" || modId="'.$pageModel.'")
ORDER BY `domainId` ASC
LIMIT ' . $from . ', ' . $max_results2;
将$linkDomain
更改为
$linkDomain = stripslashes($row['domain']);