Показать пару ключ / значение для SQLSRV_FETCH_ASSOC

0

Я использую SQLSRV_FETCH_ASSOC для возврата массива в PHP к вызову ajax.

Я хотел бы затем ссылаться на определенный элемент в массиве.

Итак, мой PHP json:

$sth = sqlsrv_query($conn,"SELECT Property, Value from TBL_CONFIG_SYSTEM");

    $rows = array();
while($r = sqlsrv_fetch_array($sth,SQLSRV_FETCH_ASSOC)) {
    $rows[] = $r;
}    
print json_encode($rows);

и я хотел бы сделать что-то вроде этого для моего ответа ajax:

$.ajax({
    url: 'json/admin/getSystemSettings.php',
    type: 'POST',
    dataType: "json",
    data: {},
    success: function (result) {
        $.each(result, function (key, value) {
            console.log('key: ' + key + ',value: ' + value);
        });
    }
});

Кажется, что консольный журнал просто возвращает:

index: 0,value: [object Object]
index: 1,value: [object Object]
index: 2,value: [object Object]
index: 3,value: [object Object]
index: 4,value: [object Object]

Я хотел бы, чтобы это возвращало данные из массива, а не индекс и объект?

  • 0
    У вас есть вопрос?
  • 0
    извиняюсь. Только что обновил - я немного забыл! :)
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

console.log() бесполезен, если вы конвертируете все в строку. Для правильной отладки вам нужно одно:

console.log('key: %o, value: %o', key, value);

... или, если ваша консоль браузера не поддерживает API Firebug:

console.log('key: ', key, ',value: ', value);

Вы также должны проверить свой фактический JSON (либо с PHP, либо с помощью инструментов разработчика браузера). Я полагаю, что ваш выглядит так:

[
    {
        "Property": "Foo 1",
        "Value" : "Bar 1",
    },
    {
        "Property": "Foo 2",
        "Value" : "Bar 2",
    },
    {
        "Property": "Foo 3",
        "Value" : "Bar 3",
    }
]

Таким образом, ключ не имеет значения, и вам нужно использовать value.Property и value.Value.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню