[英]How to get the data I want in MySQL in one query or in PHP?
表格字段及其数据:
auto_id user_id file_id
1 1 1
2 1 13
3 1 14
4 4 1
5 5 1
6 8 18
7 8 51
8 8 31
我想要的是:
userFiles[user_id] = 'file_id';
例如:
userFiles[1] = '1,13,14';
userFiles[4] = '1';
userFiles[5] = '1';
userFiles[8] = '18,51,31';
非常感谢你!!
SELECT user_id, GROUP_CONCAT(file_id)
FROM yourtable
GROUP BY user_id
如果没有太多记录,这是一种简单的方法-group_concat的长度限制为1024字节(默认值,但可配置)。
对于每个ID,您可以使用的SQL查询非常简单:
“从表中选择file_id,其中user_id =”。 $ user_id;
将答案加载到数组中,然后:
$ string = implode(“,”,$ answers);
将整个内容放在user_id的for循环中,并分配给userFiles数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.