Вы можете получить последние две строки из БД, используя что-то вроде
SELECT ID, description FROM test ORDER BY ID DESC LIMIT 2
(или какой столбец вы хотите заказать).
Что касается того, как вы хотите, чтобы он выводил, не ясно, о чем вы спрашиваете, но похоже, что вы хотите переместить цикл while за пределы тега div. Что-то вроде ...
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "software";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT ID, description FROM test ORDER BY ID DESC LIMIT 2"; // Last 2 rows
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) : ?>
<div class="col-xs-3 col-sm-3 col-md-3">
<img src="grey.jpg">
<div class="top-left">
<p><?php echo htmlspecialchars($row["description"], ENT_QUOTES); ?></p>
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<img src="imagesb.jpg">
</div>
<?php endwhile;
Помните, что всякий раз, когда вы выводите какие-либо переменные / содержимое БД, вам нужно их экранировать (в данном случае htmlspecialchars), иначе ваша страница может быть взломана. Вот случайная ссылка, которую я нашел об этом, которая охватывает основы https://www.inanimatt.com/php-output-escaping.html