Php 如何通过避免重复来显示来自两个表的数据?
这是我正在做的,我有两个表,一个是分类表,另一个是软件表 类别表如下所示Php 如何通过避免重复来显示来自两个表的数据?,php,mysql,Php,Mysql,这是我正在做的,我有两个表,一个是分类表,另一个是软件表 类别表如下所示 cid name 1 Anti-malware id title catid 1 Avast 1 和软件表如下所示 cid name 1 Anti-malware id title catid 1 Avast 1 catid等于cid,可以说catid是类别的id 这是我目
cid name
1 Anti-malware
id title catid
1 Avast 1
和软件表如下所示
cid name
1 Anti-malware
id title catid
1 Avast 1
catid等于cid,可以说catid是类别的id
这是我目前的代码
require('config/db.php');
$cateq="SELECT * FROM softwares A INNER JOIN categories B ON A.catid=B.cID ";
$cateresult=mysql_query($cateq);
define('MAX_TITLES_PER_CAT',5);
$cat='';
$tcount=0;
while ($row =mysql_fetch_array($cateresult)){
$title=$row['title'];
$softid=$row['id'];
$cateid=$row['cid'];
$check_pic = "admin/images/icons/".$softid."/image01.jpg";
if (file_exists($check_pic)) {
$icon = "<img src=\"$check_pic\" class=\"home_icon\" />";
} else {
$icon = "<i class=\"icon-archive\"></i>";
}
if ($row['name']!=$cat) {
if ($cat!='') echo '</div>';
$cat=$row['name'];
$tcount=MAX_TITLES_PER_CAT;
echo "<div class=\"widget white_box\"><h3 class=\"widget_title\"><a href=\"categories.php?cid=$cateid\">".$cat." <i class=\"icon-chevron-right\"></i></a></h3><ul>";
}
if ($tcount--<=0) continue;
echo '<li>'.$icon.' <a href=\'software-profile.php?pid='.$softid.'\'>'.$title.'</a></li>';
}
if ($cat!='') echo '</ul></div>';
require('config/db.php');
$cateq=“从A.catid=B.cID上的软件A内部联接类别B中选择*”;
$catesult=mysql\u查询($cateq);
定义(“每个类别的最大标题”,5);
$cat='';
$t帐户=0;
while($row=mysql\u fetch\u数组($catesult)){
$title=$row['title'];
$softid=$row['id'];
$cateid=$row['cid'];
$check_pic=“admin/images/icons/”$softid./image01.jpg”;
如果(文件存在($check_pic)){
$icon=“”;
}否则{
$icon=“”;
}
如果($row['name']!=$cat){
如果($cat!='')回显“”;
$cat=$row['name'];
$t数量=每只猫的最大标题数;
回声“”;
}
if($tcount--在解析查询结果时,假设行是按类别排序的(
if($row['name']!=$cat)
),但如果没有order by
子句,则不能保证任何顺序
将ORDER BY name
添加到查询的末尾。可以通过对数据排序来解决此问题:SELECT*FROM softwares A internal JOIN categories B ON A.catid=B.cID ORDER BY B.cID