Как сделать, чтобы выводилось только последнее значение из таблицы БД?

смотрите у меня есть код вывода данных из Базы Данных
когда в таблице добавляется новое значение, выводится два значения, как сделать так, чтобы выводилось только последнее значение из таблицы БД?

<?php

$hm2 = $_POST['hm2'];
$hm3 = $_POST['hm3'];
$name = $_POST['name'];


    
  $host = '*********';  // Хост, у нас все локально
  $user = '*********';    // Имя созданного вами пользователя
  $pass = '*********'; // Установленный вами пароль пользователю
  $db_name = 'zxc';   // Имя базы данных
  $link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой

  // Ругаемся, если соединение установить не удалось
  if (!$link) {
    echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
    exit;
  }  ?>

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок документа</title>
  </head>
  <body>
    <a href="http://dnevnik.h1n.ru/test/" class="gradient-button">Добавить д/з</a>
    <style>
        body {
  background: #d6eaf8;
}
.gradient-button {
  text-decoration: none;
  display: inline-block;
  color: white;
  padding: 10px 30px;
  margin: 10px 20px;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  background-image: linear-gradient(to right, #9EEFE1 0%, #4830F0 51%, #9EEFE1 100%);
  background-size: 200% auto;
  box-shadow: 0 0 20px rgba(0, 0, 0, .1);
  transition: .5s;
}
.gradient-button:hover {
  background-position: right center;
}
    </style>
    <br>
  </body>
</html>


<table {

    display: block;

    width: 100%;

    overflow-x: scroll;

    overflow-y: hidden;

    -ms-overflow-style: -ms-autohiding-scrollbar;

    -webkit-overflow-scrolling: touch;

}

 border="12" cellspacing="0" cellpadding="15" width="100%" height="13">
<tr>
<td border="1" cellspacing="0" cellpadding="15" width="100%" height="1"><center>Понедельник</center></td>
<table border="1" cellspacing="0" cellpadding="15" width="100%" height="130">
<tr>
<td border="1" cellspacing="0" cellpadding="15" width="1%" height="5">1</td>
<td border="1" cellspacing="0" cellpadding="15" width="15%" height="5">Русский язык</td>
<td> 

<?php
  $sql = mysqli_query($link, 'SELECT `ID`, `name` FROM `homework_table`');
  while ($result = mysqli_fetch_array($sql)) {
    echo " {$result['name']} <br>";
  }
?>

</tr>

<tr>
<td border="1" cellspacing="0" cellpadding="15" width="1%" height="5">3</td>
<td border="1" cellspacing="0" cellpadding="15" width="15%" height="5">История</td>
<td> 

<?php
  
  $sql = mysqli_query($link, 'SELECT `ID`, `hm2` FROM `homework_table`');
  while ($result = mysqli_fetch_array($sql)) {
    echo "{$result['hm2']} <br>";
  }
?>

</tr>
<tr>
<td border="1" cellspacing="0" cellpadding="15" width="1%" height="5">3</td>
<td border="1" cellspacing="0" cellpadding="15" width="15%" height="5">Математика</td>
<td> 

<?php
  
  $sql = mysqli_query($link, 'SELECT `ID`, `hm3` FROM `homework_table`');
  while ($result = mysqli_fetch_array($sql)) {
    echo "{$result['hm3']} <br>";
  }
?>

</tr>

Не понял что значит

но

Это, например, решить по чему определять порядок (по какому свойству в таблице) и

SELECT id, name FROM homework_table ORDER BY id DESC LIMIT 1

(если по id)


И еще тут какие-то странные повторы запросов. Наверно проще было бы просто сделать один запрос со всем нужным и в одном цикле выводить всё начиная с <tr>.

1 лайк

а куда в коде мне это надо написать?

написал вот тут и вообще текст который выводился на этом сайте пропал: http://dnevnik.h1n.ru/ (3-ая строчка на сайте)

<?php
  
  $sql = mysqli_query($link, 'SELECT id, name FROM homework_table ORDER BY id DESC LIMIT 1`');
  while ($result = mysqli_fetch_array($sql)) {
    echo "{$result['hm3']} <br>";
  }
?>

Ну я имел в виду что если есть запрос типа такого

который вернет все записи из таблицы БД

то если нужно не все, а только последнюю, то надо решить как определять порядок записей в таблице (в запросе без ORDER BY порядок записей не гарантирован) и добавить ORDER BY + LIMIT.