Nasir Hussain Nasir Hussain - 4 months ago 7
PHP Question

How to put query data in two different arrays then echo it in two tables?

Run

select query
on
table


filter the query data

if its
gender equal to Man
, then put all of his in array men=array()

OR

if its
gender is woman
then put in array woman=array()

then
echo
two tables

Men
Table

1-Name, age, city, country, etc

2-Name, age, city, country, etc

3-Name, age, city, country, etc
.
.
.

Women
Table

1-Name, age, city, country, etc

2-Name, age, city, country, etc

3-Name, age, city, country, etc
.
.
.
.

Men
table will contain all rows data of
Man
which are save in
Men()
array

Women
table will contain all rows data of
Woman
which are save in
Women()
array

Note:-

I have tried code like this but its mess and i failed:-

Notice: Undefined offset: 1, Putting mysql query data in while loop?

Answer

your query must be in UNION:

Select men.Name, men.age, men.city, men.country, 'Male' as 'gender' FROM men_table as men UNION ALL Select women.Name, women.age, women.city, women.country, 'Female' as 'gender FROM women_table as women;

so you can have an query output:

|Name   |age    |city   |country|gender|
----------------------------------------
|male1  |21     |NY     |USA    |Male  |
|male2  |23     |CLV    |USA    |Male  |
|female1|25     |GS     |USA    |Female|
|female2|27     |CHG    |USA    |Female|

after that you can loop to your result:

<?php 

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
    $query = "Select men.Name, men.age, men.city, men.country, 'Male' as 'gender' FROM men_table as men UNION ALL Select women.Name, women.age, women.city, women.country, 'Female' as 'gender FROM women_table as women";

    $men = array();
    $women = array;

    if ($result = $mysqli->query($query)) {

        /* fetch associative array */
        while ($row = $result->fetch_assoc()) {
            if($row["gender"] == 'Male') {
                $men[] = $row[];
            }
            else {
                $women[] = $row[];
            }
        }

        print_r($men);
        print_r($women);

        /* free result set */
        $result->free();
    }

/* close connection */
$mysqli->close();
?>

The output will be like:

//$men array
    array(
        [0] => array(
                'Name' => 'male1', 
                'age' => '21', 
                'city' => 'NY', 
                'country' => 'USA', 
                'gender' => 'Male'
        ),
        [1] => array(
                'Name' => 'male2', 
                'age' => '23', 
                'city' => 'CLV', 
                'country' => 'USA', 
                'gender' => 'Male'
        )
    );

//$women array
    array(
        [0] => array(
                'Name' => 'female1', 
                'age' => '25', 
                'city' => 'GS', 
                'country' => 'USA', 
                'gender' => 'Female'
        ),
        [1] => array(
                'Name' => 'female2', 
                'age' => '27', 
                'city' => 'CHG', 
                'country' => 'USA', 
                'gender' => 'Female'
        )
    );
Comments