【发布时间】:2011-03-28 20:40:37
【问题描述】:
我正在尝试重现以下内容,但我使用数据库中的行
var allCustomers = [
{ name: 'Customer1', contacts: [
{ name: 'Bob', id: ['1'] },
{ name: 'Sue', id: ['2'] },
{ name: 'John', id: ['3'] }
]},
{ name: 'Customer2', contacts: [
{ name: 'Max', id: ['4'] },
{ name: 'Ross', id: ['5'] },
{ name: 'Sally', id: ['6'] }
]}
];
在 PHP 中,我从数据库中获取行,每个客户都有多个联系人,这是我正在努力解决的问题。目前我正在使用以下方法:
<script type="text/javascript">
var allCustomers = [
<?php
include('connection.php');
$stmt = $db->prepare("SELECT customer.customerID, customerName, contactID, contactName FROM customer INNER JOIN customerContact ON customer.customerID = customerContact.customerID");
if ($stmt->execute())
{
while ($row = $stmt->fetch(PDO::FETCH_OBJ))
{
echo "{ name: '".$row->customerName."', contacts: [
{ name: '".$row->contactName."', id: ['".$row->contactID."'] }
]},";
}
}
?>
];
但显然这不是一种非常简洁的方式,而且它仅在客户只有一个联系人时才有效,否则它会复制客户并再次联系。
你有什么建议来解决这个问题,我可以使用 php decode json 函数或类似的东西吗?
感谢您的任何建议:)。
我正在尝试生成类似于 this 的帖子,但我需要联系人的 ID 才能回帖到服务器。
【问题讨论】:
标签: php jquery multidimensional-array