Вывод последней строки mysql таблицы на страницу сайта?
Здравствуйте, мне необходимо вывести последнюю строку из таблицы tbl1, базы данных mysql (название: sensor), на страницу веб-сайта.
Таблица имеет следующие столбцы: id, temp, vlaj, datetime.
Подскажите, пожалуйста, что можно использовать, какие команды, функции, либо где об этом можно почитать, хотя бы от чего оттолкнуться. В mysql и php полный ноль. Буду очень благодарен ваше помощи, за ранее спасибо.
p.s. если это возможно, то было бы не плохо если бы Вы помогли написать полную структуру этого кода.
- Вопрос задан более трёх лет назад
- 5388 просмотров
Комментировать
Решения вопроса 1
Краткий алгоритм такой.
1. Подключиться к базе (также можно работать с MySQL через PDO или расширение mysql (считается устаревшим и убрано в php7))
2. Сделать запрос
SELECT * FROM tbl1 ORDER BY id DESC LIMIT 1
www.mysql.ru/docs/man/SELECT.html
3. Считать результат из того, что вернет п.2
4. Вывести результат на страницу.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ответы на вопрос 1
SELECT * FROM tbl1 ORDER BY id DESC LIMIT 1
Ответ написан более трёх лет назад
Комментировать
Нравится 4 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- WordPress
- +1 ещё
Как вывести текст перед рейтингом на WordPress?
- 1 подписчик
- только что
- 1 просмотр
Как выбрать последнюю строку из базы данных?

Вот есть 2 строки из базы данных. Мне нужно выбрать последнюю из них (использую python 3.7.6, Windows 10). Как мне правильно исправить мой SQL-запрос? То есть должно быть что-то вроде: — Выбрать последнюю строку из двух найденных одинаковых (нужно опираться не на id, а на последнюю строку из найденного результата!) SELECT ‘Где-то здесь должно быть условие, по которому выберется последняя строка’adress FROM orders WHERE user_id =’245′ LIMIT 1’
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 9 фев 2020 в 18:18
909 2 2 золотых знака 6 6 серебряных знаков 24 24 бронзовых знака
9 фев 2020 в 18:23
@AlexanderChernin, там конкретно говорится об уникальном идентификаторе. А если, предположим у меня не было столбца id. Как выйти из данного положения?) (Знаю, что в реальных БД всгеда есть инкрементация)
9 фев 2020 в 18:29
добавить его в таблицу и, тем самым, не придумывать себе лишних проблем)
Как получить ID последней обновленной строки в MySQL
Как получить идентификатор последней обновленной строки в MySQL с помощью PHP?
Ответ 1
Вот ответ на эту проблему 🙂
SET @update_id := 0;
UPDATE some_table SET column_name = ‘value’, @update_id := id)
WHERE some_other_column = ‘ blah’ LIMIT 1;
SELECT @update_id;
Этот метод может быть дополнительно расширен для получения идентификатора каждой строки, затронутой оператором обновления:
SET @uids := null;
UPDATE footable
SET foo = ‘bar’
WHERE fooid > 5
AND ( SELECT @uids := CONCAT_WS(‘,’, fooid, @uids) );
SELECT @uids;
Это код вернет строку со всеми идентификаторами.
Ответ 2
Предположим, что item_id – это столбец целочисленного идентификатора в таблице item s , и вы обновляете строки с помощью следующего оператора:
UPDATE items
SET qwe = ‘qwe’
WHERE asd = ‘asd’;
Затем, чтобы узнать последнюю затронутую строку сразу после оператора, вам следует немного обновить оператор следующим образом:
UPDATE items
SET qwe = ‘qwe’,
item_id=LAST_INSERT_ID(item_id)
WHERE asd = ‘asd’;
SELECT LAST_INSERT_ID();
Если вам нужно обновить только действительно измененную строку, вам нужно будет добавить условное обновление item_id с помощью LAST_INSERT_ID, который проверяет, будут ли данные изменяться в этой строке.
Ответ 3
Действительно это просто, но на удивление нелогично. Если вы поступите следующим образом:
update users set status = ‘processing’ where status = ‘ pending’
limit 1 ,
измените этот код на этот:
update users set status = ‘processing’ where status = ‘pending’
and last_insert_id(user_id)
limit 1
Добавление last_insert_id(user_id) в предложение where указывает MySQL установить для своей внутренней переменной идентификатор найденной строки. Когда вы передаете значение, last_insert_id(expr), подобное этому, оно в конечном итоге возвращает это значение, которое в случае таких идентификаторов, как здесь, всегда является положительным целым числом и, следовательно, всегда оценивается как истинное, никогда не противореча предложению where. Это работает только в том случае, если какая-то строка действительно была найдена, поэтому не забудьте проверить затронутые строки. Затем вы можете получить идентификатор несколькими способами.
MySQL last_insert_id()
Вы можете генерировать последовательности без вызова LAST_INSERT_ID(), но полезность использования функции таким образом заключается в том, что значение идентификатора сохраняется на сервере как последнее автоматически сгенерированное значение. Это безопасно для многих пользователей, потому что несколько клиентов могут выполнить оператор UPDATE и получить собственное значение последовательности с помощью оператора SELECT (или mysql_insert_id()), не затрагивая и не подвергаясь влиянию других клиентов, которые генерируют свои собственные значения последовательности.
MySQL mysql_insert_id()
Также этот оператор возвращает значение, созданное для столбца AUTO_INCREMENT предыдущим оператором INSERT или UPDATE. Используйте эту функцию после того, как вы выполнили оператор INSERT в таблице, содержащей поле AUTO_INCREMENT, или при использовании INSERT или UPDATE для установки значения столбца с LAST_INSERT_ID (expr).
Причина различий между LAST_INSERT_ID() и mysql_insert_id() заключается в том, что LAST_INSERT_ID() упрощает использование в сценариях, в то время как mysql_insert_id() пытается предоставить более точную информацию о том, что происходит со столбцом AUTO_INCREMENT.
PHP mysqli_insert_id()
Выполнение оператора INSERT или UPDATE с использованием функции LAST_INSERT_ID () также изменит значение, возвращаемое функцией mysqli_insert_id().
Итого:
$affected_rows = DB::getAffectedRows(«
update users set status = ‘processing’
where status = ‘pending’ and last_insert_id(user_id)
limit 1″
);
if ($affected_rows)
$user_id = DB::getInsertId();
>
Ответ 4
Во-первых, отредактируйте таблицу, чтобы она автоматически отслеживала изменение строки. Удалите последнюю строку, если вы хотите знать, когда строка была изначально вставлена.
ALTER TABLE mytable
ADD lastmodified TIMESTAMP
DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;
Затем, чтобы узнать последнюю обновленную строку, вы можете использовать этот код.
SELECT id FROM mytable ORDER BY lastmodified DESC LIMIT 1;
Ответ 5
Запрос :
$sqlQuery font-size: 14px; color: #1a0e95; display: table-row-group;» dir=»ltr»> update_table
SET
set_name = ‘value’
WHERE
where_name = ‘name’
LIMIT 1;»;
Функция PHP:
function updateAndGetId($sqlQuery)
mysql_query(str_replace(«SET», «SET $sqlQuery));
return mysql_insert_id();
>
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Как получить последнюю строку sql
Чтобы получить последнюю строку в таблице, можно воспользоваться следующей командой:
Есть что добавить? Зарегистрируйтесь
Курсы по программированию на Хекслете
Backend-разработка
Разработка серверной части сайтов и веб-приложений
Frontend-разработка
Разработка внешнего интерфейса сайтов и веб-приложений и верстка
Создание сайтов
Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails
Тестирование
Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP
Аналитика данных
Сбор, анализ и интерпретация данных на Python
Интенсивные курсы
Интенсивное обучение для продолжающих
DevOps
Автоматизация настройки локального окружения и серверов, развертывания и деплоя
Веб-разработка
Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков
Математика для программистов
Обучение разделам математики, которые будут полезны при изучении программирования
JavaScript
Разработка сайтов и веб-приложений и автоматизированное тестирование на JS
Python
Веб-разработка, автоматическое тестирование и аналитика данных на Python
Java
Веб-разработка и автоматическое тестирование на Java
PHP
Веб-разработка и автоматическое тестирование на PHP
Ruby
Разработка сайтов и веб-приложений на Ruby on Rails
Go
Курсы по веб-разработке на языке Go
HTML
Современная верстка с помощью HTML и CSS
SQL
Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД
Git
Система управления версиями Git, регулярные выражения и основы командой строки
Похожие вопросы
26 октября 2021
26 октября 2021
26 октября 2021
26 октября 2021
- 8 800 100 22 47 бесплатно по РФ
- +7 495 085 28 38 бесплатно по Москве
Направления
- Курсы «Backend-разработка»
- Курсы «Frontend-разработка»
- Курсы «Создание сайтов»
- Курсы «Тестирование»
- Курсы «Аналитика данных»
- Интенсивные курсы
- Курсы DevOps
- Курсы «Веб-разработка»
- Курсы «Математика для программистов»
- Все курсы
О Хекслете
- О нас
- Карьера в Хекслете
- Хекслет Колледж
ООО «Хекслет Рус» 432071, г. Ульяновск, пр-т Нариманова, дом 1Г, оф. 23 ОГРН 1217300010476
- Справка
- Вопросы и ответы
- Сообщество
- Дополнительно
- Условия использования
- Соглашение об обработке ПД
- Оферта
- Акции