Php MYSQL查询多个逗号分隔的字符串
我将数据存储在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)
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的无知永久化。