Я не уверен, как написать следующий код.
$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
$jsonArray = array(
'listing_number' => $listing['listing_number'],
);
exit(json_encode($jsonArray));
}
Когда я делаю это таким образом, ответ Undefined Index: listing_number.
Однако, если я напишу это так,
$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
$jsonArray = array(
'listing_number' => $listing[0],
);
exit(json_encode($jsonArray));
}
Ответ
{"listing_number":{"id":"24","client_id":"1","address":"","address_2":"","city":"","state":"","zip":"","price":"","listing_number":"asdasdasdasd","remarks":"","link":"","status":"","bd":"","ba":"","lot_sz":"","sq_ft":"","yr":"","type":"","thumb":""}}
Что позволяет мне знать, что мой SQL и PHP верны, я просто не знаю, как правильно получить доступ к $listing['listing_number].
Любая помощь будет оценена по достоинству.
Вам нужно использовать $listing[0]['listing_number'] edit: вы сказали, что это stdClass, поэтому вам нужно использовать $listing[0]->listing_number
$listing = $Listings->getData($rowID) эти данные могут быть массивом, поэтому получение индекса 0 даст вам 1 запись. Затем вы можете получить "listing_number" этих данных.
@GrumpyCrouton Когда я делаю $list[0]["listing_number"]. Я получаю эту ошибку: «Неустранимая ошибка: необработанная ошибка: невозможно использовать объект типа stdClass в качестве массива»
@ KevinM1990112qwq это из-за того, что данные в индексе 0 могут быть объектами. поэтому вы должны получить это как $listing[0]->listing_number
Тогда это $listing[0]->listing_number или $listing[0]->getlisting_number
Замечательно, $listing[0]->listing_number сработало, большое спасибо.






как сказано в комментарии ГрумпКрутон, ваш запрос возвращает массив результатов. Поэтому, если вы хотите получить доступ к значению в первом результате, вам сначала нужно получить доступ к этому результату, используя его индекс: $listing[0]->listing_number.
$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
$jsonArray = array(
'listing_number' => $listing[0]->listing_number,
);
exit(json_encode($jsonArray));
}
P.S. Вы можете преобразовать объект в массив с помощью простого приведения ( $result = (array) $result ), но в вашем случае это не обязательно. Преобразование вашего объекта в массив позволит вам получить доступ к его данным, используя result['key'], а не result->key.
Откуда вы собираетесь получить к нему доступ? PHP? JS?