How can PHP be used to dynamically adjust the layout of data in a table based on the number of records retrieved from a database?

When retrieving data from a database to display in a table, the number of records returned can vary. To dynamically adjust the layout of the table based on the number of records, you can use PHP to calculate the number of columns needed and adjust the HTML output accordingly. By dividing the total number of records by the desired number of columns, you can determine how many rows are needed to display all the data in a balanced layout.

<?php
// Retrieve data from the database
// For example, using mysqli_query()

// Calculate the number of columns based on the number of records
$num_columns = 3; // Set the desired number of columns
$num_records = mysqli_num_rows($result); // $result is the result of the database query
$num_rows = ceil($num_records / $num_columns);

// Display the data in a table with the dynamically adjusted layout
echo '<table>';
for ($i = 0; $i < $num_rows; $i++) {
    echo '<tr>';
    for ($j = 0; $j < $num_columns; $j++) {
        $record = mysqli_fetch_assoc($result);
        if ($record) {
            echo '<td>' . $record['column_name'] . '</td>'; // Adjust column_name to match your database structure
        } else {
            echo '<td></td>'; // Empty cell if no more records
        }
    }
    echo '</tr>';
}
echo '</table>';
?>