Вывод последней строки 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 "Успех. Информация занесена в базу данных"; } }