детали в один ряд без какой-либо избыточности в CATID - PullRequest
1 голос
/ 06 июня 2010
$query1 = "select * 
             from linkat_link 
            where emailuser = '$email2' 
               or linkname ='$domain_name2' 
         ORDER BY date desc 
            LIMIT $From,$PageNO";

ID описание цена
------------------------------------
1 1 доменное имя 100
2 1 книга 50
3 2 хостинг 20
4 2 myservice 20

в этом сценарии у меня есть одна проблема, если у меня есть идентификатор для каждой столовой, у меня есть некоторый дублированный CATID, который имеет разное содержимое, но разделяет тот же CATID, мне нужно сделать любой дублированный CATID, чтобы показать в одном, и все описание будет в той же строке (ячейка) в той же строке. Таким образом, каждый CatID будет содержать все детали в одной строке без какой-либо избыточности в CATID

1 Ответ

0 голосов
/ 06 июня 2010

Использование:

  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>";
 } ?>
...