-1

我将数据存储在 MYSQL 数据库中,如下所示:

 id    t_id     type    color       Y        S       M          L   
  2    2606      2    Black DNA   1,5,8    4,2,6    7,3,9    10,11,12   

我希望查询使用 PHP 像这样返回:

全部的:

Black DNA

1 (Y)  
2 (S)  
3 (M)  
4 (S)  
5 (Y)  
6 (S)  
7 (M)  
8 (Y)  
9 (M)  
10 (L)  
11 (L)  
12 (L)  

我正在使用 Joomla 2.7,这是我在 PHP 中尝试过的:

$query = "SELECT DISTINCT(e.id) as id, e.color, GROUP_CONCAT(e.S) as small FROM  #__bl_equipment as e WHERE e.type = 4 AND e.t_id = 2606";
       $db->setQuery($query);
    $equip1 = $db->loadObjectList();


<table>

<?php foreach($this->equip1 as $equip){

echo '<tr><td>';
echo $equip->color;
echo '</td><td>';
echo $equip->small;
echo '</td></tr>';}

?>


</table>

我能得到的唯一结果:

黑色 DNA 1, 2, 3

4

1 回答 1

-1

这对 SQL 来说太复杂了(甚至怀疑它是可能的)

我会执行以下操作 - 获取 Y、S、M 和 L 列 - 使用逗号解析每个列(以便获得数字)并将它们转换为数组 - 对每个列进行排序

所以现在你应该有类似的东西

y_numbers = [1,5,8]

s_numbers = [2,4,6]

m_numbers = [3,7,9]

l_numbers = [10,11,12]

然后在一个循环中,查看每个数组的第一个元素,找到最小的,根据它是哪个数组打印字母,迭代该数组的指针......继续直到你用尽所有数字

于 2012-11-22T17:44:52.797 回答