Перейти к содержанию
devel

[Решено] Запрос к БД. Доступ к конкретному полю.

Рекомендуемые сообщения

Пишу запрос к БД:

$mas_order_history_id = $this->db->query("SELECT order_history_id FROM " . DB_PREFIX . "order_history WHERE order_id = '" . $this->request->get['order_id'] . "'");

По моей логике, запрос возвращает массив идентификаторов статусов конкретного загаза order_id.

$mas_order_history_id->row['order_history_id'] возвращает значение первого id

$mas_order_history_id->num_rows возвращает кол-во идентификаторов (размер массива)

$mas_order_history_id->rows возвращает значения всех идентификаторов

 

Как получить значение текущего идентификатора?

 

Я решил пока так:

текущий_ид=первый_ид+количество_ид-1.

Допустим, первый_ид=10, количество_ид=4. Тогда текущий_ид=10+4-1=13.

 

Но мне кажется, что должно быть решение проще, как получить значение последней (она же текущая) ячейки.

Коллеги, подскажите, как оптимизировать этот запрос и код? 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в mysql есть ф-ция max(), которая выбирает последний элемент

в php есть ф-ция end(), которая возвращает последний элемент массива

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в mysql есть ф-ция max(), которая выбирает последний элемент

в php есть ф-ция end(), которая возвращает последний элемент массива

А если элементы массива тоже array? end отработал, но var_dump выдал, что последний элемент - array(1) { ["order_history_id"]=> string(2) "15" } 

Мне нужно только значение (15) вытащить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я нереально :-D ступил :

$mas_order_history_id = $this->db->query("SELECT order_history_id FROM " . DB_PREFIX . "order_history WHERE order_id = '" . $this->request->get['order_id'] . "'");
$last_order_history_id = end($mas_order_history_id->rows);
echo 'last_order_history_id: ', $last_order_history_id['order_history_id'], '</br>';

Спасибо sv2109 за наводку. Основ синтаксиса я не знаю, знакомлюсь по-ходу дела..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.