Я пытаюсь воспроизвести следующее, но я использую строки из базы данных
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 или что-то подобное?
Спасибо за любые предложения:).
Я пытаюсь создать что-то похожее на эту запись, но мне нужен идентификатор контакта для отправки обратно на сервер.