How can one efficiently handle multiple data sets with different criteria in a single SQL query in PHP?

When handling multiple data sets with different criteria in a single SQL query in PHP, you can use conditional statements (such as IF or CASE) within the query to apply different criteria based on specific conditions. This allows you to efficiently retrieve the desired data without needing to execute multiple separate queries.

<?php
// Establish a database connection
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Define the criteria based on conditions
$condition = "CASE
                WHEN condition1 THEN criteria1
                WHEN condition2 THEN criteria2
                ELSE default_criteria
              END";

// Execute the SQL query with conditional criteria
$sql = "SELECT * FROM table WHERE $condition";
$result = $conn->query($sql);

// Output the data
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "Column1: " . $row["column1"]. " - Column2: " . $row["column2"]. "<br>";
    }
} else {
    echo "0 results";
}

// Close the database connection
$conn->close();
?>