Как получить последнюю строку mysql
Перейти к содержимому

Как получить последнюю строку mysql

  • автор:

Вывод последней строки mysql таблицы на страницу сайта?

Здравствуйте, мне необходимо вывести последнюю строку из таблицы tbl1, базы данных mysql (название: sensor), на страницу веб-сайта.
Таблица имеет следующие столбцы: id, temp, vlaj, datetime.
Подскажите, пожалуйста, что можно использовать, какие команды, функции, либо где об этом можно почитать, хотя бы от чего оттолкнуться. В mysql и php полный ноль. Буду очень благодарен ваше помощи, за ранее спасибо.
p.s. если это возможно, то было бы не плохо если бы Вы помогли написать полную структуру этого кода.

  • Вопрос задан более трёх лет назад
  • 5317 просмотров

Комментировать

Решения вопроса 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 Комментировать

Ваш ответ на вопрос

Войдите, чтобы написать ответ

веб-разработка

  • Веб-разработка
  • +2 ещё

Аналоги CloudFlare в РФ?

  • 1 подписчик
  • 8 минут назад
  • 2 просмотра

Как получить последнюю строку 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
  • Курсы «Веб-разработка»
  • Курсы «Математика для программистов»
  • Все курсы

О Хекслете

  • О нас
  • Карьера в Хекслете
  • Хекслет Колледж
  • Сведения об образовательной организации
  • Лицензия № Л035-01216-73/00668844

ООО «Хекслет Рус» 432071, г. Ульяновск, пр-т Нариманова, дом 1Г, оф. 23 ОГРН 1217300010476

  • Справка
  • Вопросы и ответы
  • Сообщество
  • Дополнительно
  • Условия использования
  • Соглашение об обработке ПД
  • Оферта
  • Акции

Последняя запись из таблицы

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

В таблице id — auto_increament и парочка текстовых полей.

SELECT * FROM table ORDER BY id DESC LIMIT 1
SELECT MAX(id), * FROM table
@max := SELECT MAX(id) FROM table; SELECT * FROM table WHERE id=@max;

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Последняя запись в базу
Здравствуйте можно ли узнать в каких таблицах базы происходили последние изменения?

Почему только последняя запись
При поиске выводится только последняя запись, а не все возможные варианты. почему? require.

Последняя вставленная запись в транзакции
Добрый вечер, Уважаемые форумчане! Стоит задача сделать транзакцию, которая добавляет в таблицу.

Не вытаскивается последняя тысяча записей из таблицы
Добрый день. Сложилась очень неприятная ситуация. Есть таблица, в ней около 20000 записей, при.

750 / 549 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1

в плане производительности наверно второй вариант, а в плане верности — ни один вариант не подходит.
Используйте функцию LAST_INSERT_ID()

Регистрация: 22.07.2012
Сообщений: 19
Оператора INSERT не было , представим что это единичный sql запрос
Почетный модератор
11329 / 4301 / 444
Регистрация: 12.06.2008
Сообщений: 12,385

Т.к. выборка идёт по PRIMARY KEY, то, мне кажется, что тут и первый и второй варианты будут одинаково быстры.

Добавлено через 57 секунд
Эм. а второй вариант в MySQL вообще нельзя использовать. он такой синтаксис не понимает.

750 / 549 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
Оператора INSERT не было
Так или иначе он был. Данные то есть в базе.
Почетный модератор
11329 / 4301 / 444
Регистрация: 12.06.2008
Сообщений: 12,385

ЦитатаСообщение от gitarillo Посмотреть сообщение

Так или иначе он был. Данные то есть в базе.
Если он был в прошлой сессии, то LAST_INSERT_ID() не поможет.
Регистрация: 22.07.2012
Сообщений: 19

Humanoid, Первые 2 варианта проверял через phpmyAdmin, 3ий вариант нагуглил. На 1300 записей, существенной разницы нет между 1 и 2. Возможно у меня параноя, но хочется писать правильно.
П.С. Есть 4 вариант что-то типа третьего. Опять же нагуглено.

SELECT * FROM table WHERE id=(SELECT MAX(id) FROM table);

Почетный модератор
11329 / 4301 / 444
Регистрация: 12.06.2008
Сообщений: 12,385

ЦитатаСообщение от Asgaroth Посмотреть сообщение

Первые 2 варианта проверял через phpmyAdmin

Можно делать SELECT *,MAX(id) FROM. но почему-то SELECT MAX(id),* FROM не работает. И в любом случае, MAX он показывает максимальный, а строку выводит первую. Так что второй вариант вообще нерабочий получается.

Как по правильнее и красивее не знаю. лично я делаю ORDER BY . DESC LIMIT 1 (первый вариант). Лично мне вообще не нравятся сложные конструкции с несколькими запросами. Вряд ли они смогут быстрее работать.

Регистрация: 22.07.2012
Сообщений: 19

ЦитатаСообщение от Humanoid Посмотреть сообщение

Можно делать SELECT *,MAX(id) FROM. но почему-то SELECT MAX(id),* FROM не работает. И в любом случае, MAX он показывает максимальный, а строку выводит первую. Так что второй вариант вообще нерабочий получается.

Да я тоже использовал первый вариант, но тут проскользнула инфа, что можно оптимизировать запрос еще быстрее, решил разобраться, возможно просто дезинфа

Вывести последнюю запись из MySQL на страницу

Здравствуйте. Делаю первые шаги в mysql и php. Задача такая. 1. Вывести из mysql все имеющиеся записи. 2. Далее из формы добавить запись в mysql. 3. Вывести на страницу последнюю запись из mysql. Собирал код из разных источников, поэтому возможна какая-то каша. С первым и вторым пунктом справился. А с 3м что-то застрял. Вроде должна работать такая команда:

SELECT * FROM mytable ORDER BY id DESC LIMIT 1

, но выходит ошибка — ругается на название таблицы. Помогите пожалуйста доделать код и, если возможно, подкорректировать его. Вот что у меня есть:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
$db_host = "localhost"; $db_user = "root"; // Логин БД $db_password = "root"; // Пароль БД $db_base = 'enot'; // Имя БД $db_table = "enot_1"; // Имя Таблицы БД mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);// включаем сообщения об ошибках $mysqli = new mysqli($db_host, $db_user, $db_password, $db_base); // коннект с сервером бд $mysqli->set_charset("utf8mb4"); // задаем кодировку $result = $mysqli->query('SELECT * FROM `enot_1`'); // запрос на выборку while($row = $result->fetch_assoc())// получаем все строки в цикле по одной { echo '

Отзыв №'.$row['id'].'.Имя: '.$row['name'].'. Отзыв: '.$row['feedback'].'

'
;// выводим данные } if (isset($_POST['name']) && isset($_POST['feedback'])){ // Переменные с формы $name = $_POST['name']; $feedback = $_POST['feedback']; try { // Подключение к базе данных $db = new PDO("mysql:host=$db_host;dbname=$db_base", $db_user, $db_password); // Устанавливаем корректную кодировку $db->exec("set names utf8"); // Собираем данные для запроса $data = array( 'name' => $name, 'feedback' => $feedback ); // Подготавливаем SQL-запрос $query = $db->prepare("INSERT INTO $db_table (name, feedback) values (:name, :feedback)"); // Выполняем запрос с данными $query->execute($data); // Запишим в переменую, что запрос отрабтал $success = true; } catch (PDOException $e) { // Если есть ошибка соединения или выполнения запроса, выводим её print "Ошибка!: " . $e->getMessage() . "
"
; } if ($success) { echo "Успех. Информация занесена в базу данных"; } }

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *