Splitting MySQL Results Into Two Columns Using PHP

Sometimes, the MySQL output result is too large to display in a single column on a web page and that's why, the best solution is to divide the data into two columns. In this article, we provide a simple solution to split the MySQL result sets into two columns using PHP.

Divide Large Data Into Two Columns Using PHP

Suppose, we have Indian states record, you can create a states table and copy paste this code in database or use your existing records.

INSERT INTO `states` (`id`, `state`) VALUES
(1, 'Andaman and Nicobar Islands'),(2, 'Andhra Pradesh'),(3, 'Arunachal Pradesh'),(4, 'Assam'),
(5, 'Bihar'),(6, 'Chandigarh'),(7, 'Chhattisgarh'),(8, 'Dadra and Nagar Haveli'),
(9, 'Daman and Diu'),(10, 'Delhi'),(11, 'Goa'),
(12, 'Gujarat'),(13, 'Haryana'),(14, 'Himachal Pradesh'),
(15, 'Jammu and Kashmir'),(16, 'Jharkhand'),(17, 'Karnataka'),
(18, 'Kerala'),(19, 'Lakshadweep'),(20, 'Madhya Pradesh'),
(21, 'Maharashtra (Mumbai)'),(22, 'Manipur'),(23, 'Meghalaya'),
(24, 'Mizoram'),(25, 'Nagaland'),(26, 'Orissa'),(27, 'Pondicherry'),
(28, 'Punjab'),(29, 'Rajasthan'),(30, 'Sikkim'),(31, 'Tamil Nadu'),
(32, 'Tripura'),(33, 'Telangana'),(34, 'Uttaranchal'),(35, 'Uttar Pradesh'),(36, 'West Bengal');

Now, let's create a PHP file name 'state.php' and copy paste the below code. Please make sure to replace the 'host', 'username', 'password' and 'databasename' with yours.

        <title>Simplest way to divide data in two columns using PHP</title>
        <style type="text/css">
            table{ border: 2px solid deepskyblue; width: 30%; }
            tr{ width: 15%; }
            table tr:nth-child(odd){ background-color: lightskyblue;}
            table tr:nth-child(even){ background-color: lightgray;}
        $conn = mysqli_connect('hostname', 'username', 'password', 'databasename');// connect to your host
        //Check for connection error
         die("Error in DB connection: ".mysqli_connect_errno()." - ".mysqli_connect_error());
        $select = "SELECT * FROM `states` ";
        $result = mysqli_query($conn, $select);// Select query to fetch data
        echo "<table width='70%' >";
        $i = 0;
        while($row = mysqli_fetch_object($result)){
            $states = $rows->state;
            if($i % 2 == 0){
                echo '<tr>';
            echo '<td>'.$states.'</td>';
            if($i % 2 == 1){
                echo '</tr>';
        echo "</table>";

The above code divide the states data into two columns as shown below.

Related Articles

Preventing Cross Site Request Forgeries(CSRF) in PHP
PHP code to send email using SMTP
Simple pagination in PHP
Simple PHP File Cache
PHP Connection and File Handling on FTP Server
CRUD operations in Python using MYSQL Connector
Windows commands to Create and Run first Django app
How to send emojis in email subject and body using PHP
PHP7.3 New Features, Functions and Deprecated Functions
Create pie chart using google api

Read more articles

General Knowledge

Learn Popular Language