繁体   English   中英

一行中的详细信息,CATID中没有任何冗余

[英]details in one Row without any redundancy in the CATID

$query1 = "select * 
             from linkat_link 
            where emailuser = '$email2' 
               or linkname ='$domain_name2' 
         ORDER BY date desc 
            LIMIT $From,$PageNO";

id catid描述价格
------------------------------------
1 1个域名100
2 1本书50
3 2托管20
4 2 myservice 20

在此脚本中,我有一个问题,如果我有每个分类的ID,则我有一些重复的CATID,其内容不同但共享相同的CATID,我需要制作任何重复的CATID才能在其中显示,所有说明将是在同一行的同一行(单元格)中。 因此,每个CatID都将所有详细信息放在一行中,而CATID中没有任何冗余

使用:

  SELECT t.catid,
         GROUP_CONCAT(t.description),
         GROUP_CONCAT(t.price)
    FROM LINKAT_LINK t
   WHERE t.emailuser = mysql_real_escape_string($email2)
      OR t.linkname = mysql_real_escape_string($domain_name2)
GROUP BY t.catid
ORDER BY t.date DESC
   LIMIT mysql_real_escape_string($From), mysql_real_escape_string($PageNO)

...将返回:

catid   description        price
--------------------------------
1       domain name,book   100,50
2       hosting,myservice  20,20

请参阅文档,了解GROUP_CONCAT函数的作用

如何使用PHP将其打印到屏幕上?


采用:

<?php

 $query1 = "SELECT t.catid,
                   GROUP_CONCAT(t.description) AS grp_desc,
                   GROUP_CONCAT(t.price) AS grp_price
              FROM LINKAT_LINK t
             WHERE t.emailuser = mysql_real_escape_string($email2)
                OR t.linkname = mysql_real_escape_string($domain_name2)
          GROUP BY t.catid
          ORDER BY t.date DESC
             LIMIT mysql_real_escape_string($From), mysql_real_escape_string($PageNO)";

 $result = mysql_query($query1);

 while($row = mysql_fetch_array($result)) {
   echo "CatID:{$row['catid']} <br>" .
     "Description : {$row['grp_desc']} <br>" .
     "Price : {$row['grp_price']} <br><br>";
 } ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM