What is the concept of "Gruppenwechsel" in PHP and how does it relate to handling multiple table outputs?

The concept of "Gruppenwechsel" in PHP refers to grouping or organizing data from multiple tables based on a common key or identifier. This can be achieved by using SQL JOIN queries to combine data from different tables into a single result set. By using JOINs, you can fetch related data from multiple tables in a single query and then organize the output based on the common key.

// Example code snippet demonstrating the concept of "Gruppenwechsel" in PHP using SQL JOINs

// Establish a connection to the database
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// Query to fetch data from multiple tables using JOIN
$sql = "SELECT orders.order_id, customers.customer_name, products.product_name
        FROM orders
        JOIN customers ON orders.customer_id = customers.customer_id
        JOIN products ON orders.product_id = products.product_id";

// Execute the query
$stmt = $pdo->query($sql);

// Output the results with grouping based on order_id
$previous_order_id = null;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    if ($row['order_id'] != $previous_order_id) {
        echo "Order ID: " . $row['order_id'] . "\n";
        echo "Customer: " . $row['customer_name'] . "\n";
        echo "Products:\n";
    }
    echo "- " . $row['product_name'] . "\n";
    $previous_order_id = $row['order_id'];
}