Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL查询多个逗号分隔的字符串_Php_Mysql_Csv - Fatal编程技术网

Php MYSQL查询多个逗号分隔的字符串

Php MYSQL查询多个逗号分隔的字符串,php,mysql,csv,Php,Mysql,Csv,我将数据存储在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)

我将数据存储在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,这对于SQL来说太复杂了,甚至怀疑它的可能性

我会做下面的事情 -获取Y、S、M和L列 -使用逗号解析每个字符,这样就可以得到数字并将它们转换为数组 -分类

所以现在你应该有

y_数=[1,5,8]

s_数=[2,4,6]

m_数=[3,7,9]

l_数=[10,11,12]


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

好的,问题是什么?你的结果是什么,或者什么没有按预期工作,或者你有错误吗?…这就是为什么标准化被发明的原因…它不会在每个数字旁边返回'S','M','L'这不是最好的答案。它只会使对OP的无知永久化。