2014-10-17 3 views
-1

У меня есть этот внутренний запрос присоединиться затем извлечь эти данные через петлю, то для хранения МАССИВУ с помощью PHP (см. Рисунок ниже)магазин многомерный массив в PHP

enter image description here

AS вы можете увидеть изображение выше. она имеет 3 колонки, я хочу, чтобы сгруппировать его по WOKRORDER затем DateField: (смотрите изображение ниже ожидаемого выхода)

enter image description here

но вот console.log из result.I передать его в Jquery в формате JSON чтобы увидеть в console.log, если мой массив хранения работает (см. рисунок ниже)

enter image description here

Как я могу сделать это в PHP массив?

вот мой PHP массив хранения кода до сих пор:

$ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']]=array(
         $rowInnerJoin['DateField'] => array 
         (
         'DatePosted' => $rowInnerJoin['DatePosted'] 
         ) 
        ); 
+0

Ваша консоль показывает «Невозможно прочитать свойство« создать »неопределенного». Можете ли вы опубликовать код JS, который вы используете –

+0

ohh. извините, его просто ошибка расширения Chrome. пожалуйста, проигнорируйте эту ошибку. – Waelhi

ответ

0

Если проблема заключается в том, что у вас есть только один DateField для каждого из WorkOrders, может быть, вы должны добавить [] в вас конструкции массива:

$ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']][]=array(
    $rowInnerJoin['DateField'] => array 
    (
     'DatePosted' => $rowInnerJoin['DatePosted'] 
    ) 
); 
+0

Спасибо, помощник! это работает! Я просто настраиваю код ... здесь: '$ ListOfWorkOrderDates [$ rowInnerJoin ['WorkOrder']] [$ rowInnerJoin ['DateField']] = array ('DatePosted' => $ rowInnerJoin ['DatePosted']); ' – Waelhi

1

Попробуйте это:

if (!isset($ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']])) { 
     $ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']]=array(); 
} 
$ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']][$rowInnerJoin['DateField']] = array 
        (
        'DatePosted' => $rowInnerJoin['DatePosted'] 
        ); 

Что происходит в вашем коде заключается в том, что вы устанавливаете «Due Date» в «Workorder», а затем заменяете то же значение на «Received». Поэтому в каждом случае вы получаете только «Received». То, что я сделал, отделяет инициализацию массива и установку значений в нем.

+0

это не помогло. он дает мне «Ошибка внутреннего сервера» – Waelhi

+0

извините, я исправил его, пожалуйста, еще раз проверьте, –

+0

эта работа тоже .. но я предпочитаю ответ @lpg. Спасибо друг! но не беспокойтесь, я тоже повышу ваш. – Waelhi

Смежные вопросы