Home  >  Article  >  Backend Development  >  How to use PHP arrays to generate dynamic tables and reports

How to use PHP arrays to generate dynamic tables and reports

王林
王林Original
2023-07-16 14:58:401455browse

How to use PHP arrays to generate dynamic tables and reports

With the development of the Internet, data processing and display have become an important part of website development. As one of the common data display forms, tables and reports are widely used in websites. In PHP, we can use arrays to generate dynamic tables and reports. This article will introduce how to use PHP arrays to achieve this function, and attach corresponding code examples.

  1. Generate a basic table

First, we can use a PHP array to generate a basic table. The code is as follows:

$data = array(
    array("Name", "Age", "Email"),
    array("John", 25, "john@example.com"),
    array("Mary", 28, "mary@example.com"),
    array("Tom", 30, "tom@example.com")
);

echo "<table>";
foreach ($data as $row) {
    echo "<tr>";
    foreach ($row as $cell) {
        echo "<td>" . $cell . "</td>";
    }
    echo "</tr>";
}
echo "</table>";

In the above code, $data is a two-dimensional array, and each array element represents a row of data. Through nested foreach loops, we can output table contents row by row and cell by cell. The final generated table looks like this:

Name   Age   Email
John   25    john@example.com
Mary   28    mary@example.com
Tom    30    tom@example.com
  1. Add table style

In order to make the table more beautiful, we can add some styles to the table. The following is a sample code:

echo "<table>";
echo '<thead style="background-color: #ccc;">
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Email</th>
        </tr>
    </thead>';
echo "<tbody>";
foreach ($data as $row) {
    echo "<tr>";
    foreach ($row as $cell) {
        echo "<td>" . $cell . "</td>";
    }
    echo "</tr>";
}
echo "</tbody>";
echo "</table>";

In the above code, we use inline styles to set the background color of the table header. By using different CSS styles, we can achieve more flexible table styles.

  1. Generate reports

In addition to basic tables, we can also use PHP arrays to generate reports. The following is a simple example:

$data = array(
    array("Month", "Sales"),
    array("January", 5000),
    array("February", 6000),
    array("March", 7000),
    array("April", 5500),
    array("May", 8000)
);

echo "<table>";
foreach ($data as $row) {
    echo "<tr>";
    foreach ($row as $cell) {
        echo "<td>" . $cell . "</td>";
    }
    echo "</tr>";
}
echo "</table>";

echo '<canvas id="myChart" width="400" height="400"></canvas>';

echo '<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>';
echo '<script>
var ctx = document.getElementById("myChart").getContext("2d");
var myChart = new Chart(ctx, {
    type: "bar",
    data: {
        labels: ["January", "February", "March", "April", "May"],
        datasets: [{
            label: "Sales",
            data: [5000, 6000, 7000, 5500, 8000],
            backgroundColor: "rgba(0,123,255,0.5)"
        }]
    },
    options: {
        scales: {
            y: {
                beginAtZero: true
            }
        }
    }
});
</script>';

In the above code, we first use an array to generate a simple table showing monthly sales. We then use the Chart.js library to generate a histogram showing changes in sales. The final report effect is as follows:

Month       Sales
January     5000
February    6000
March       7000
April       5500
May         8000

[柱状图]

Through the above code examples, we can use PHP arrays to quickly generate dynamic tables and reports, and use CSS and third-party libraries to achieve richer styles and functions. In actual development, we can further expand and optimize the code according to needs to achieve more complex data display forms.

The above is the detailed content of How to use PHP arrays to generate dynamic tables and reports. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn