gpt4 book ai didi

php - 在 php/mysql 中左加入一个带有数组的列

转载 作者:行者123 更新时间:2023-11-29 04:26:07 25 4
gpt4 key购买 nike

我有几个表 1 联系人和多个数据。

Contacts 有一个 ID 字段和一个 Name 字段;数据有一个名为联系人的字段(以及其他字段)。

例如联系人

ID - Name
1 - James
2 - Mark
3 - Doug

例如数据

ID - Contacts - Data
1 - 1,3 - more data
2 - 2 - more data
3 - 2,3,1 - more data

显然,逗号分隔的数字链接到联系人表中的几个人。如何将以逗号分隔的列表转换为人名?标准的左连接不起作用。

有没有一种方法可以在原始查询中执行此操作,或者我是否必须在原始 while 循环内的 foreach 中添加 while?例如(以下也不起作用,但据我所知):

//original query while {
$contacts_array = array(implode(",",$db['Contacts']));
foreach ($contacts_array as $contacts_id)
{
$contacts_query = "SELECT Name FROM data_contacts WHERE ID='$contacts_id'";
$contacts_result = mysql_query ($contacts_query);
$contactslist="";
while($contacts=mysql_fetch_array($contacts_result)){
$contactslist .= $contacts['Name'].", ";
}
}
echo $contactslist;
}

最佳答案

我一直用单独的行而不是逗号分隔值来存储多对多关系:

ID - Contacts
1 - 1
1 - 3
2 - 2
3 - 2
3 - 3
3 - 1

关于php - 在 php/mysql 中左加入一个带有数组的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com