Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将查询数据放在两个不同的数组中,然后在两个表中回显它?_Php_Mysql - Fatal编程技术网

Php 如何将查询数据放在两个不同的数组中,然后在两个表中回显它?

Php 如何将查询数据放在两个不同的数组中,然后在两个表中回显它?,php,mysql,Php,Mysql,在表上运行选择查询 过滤查询数据 如果其性别等于男性,则将其所有成员放入数组men=array() 或 如果它的性别是woman,则放入数组woman=array() 然后echo两个表 Men表格 1-姓名、年龄、城市、国家等 2-姓名、年龄、城市、国家等 3-姓名、年龄、城市、国家等 . . 女性表格 1-姓名、年龄、城市、国家等 2-姓名、年龄、城市、国家等 3-姓名、年龄、城市、国家等 . . . Men表将包含Man中保存在Men()数组中的所有行数据 Women表将包含保存在Wo

表上运行
选择查询

过滤查询数据

如果其
性别等于男性
,则将其所有成员放入数组men=array()

如果它的
性别是woman
,则放入数组woman=array()

然后
echo
两个表

Men
表格

1-姓名、年龄、城市、国家等

2-姓名、年龄、城市、国家等

3-姓名、年龄、城市、国家等 . .

女性
表格

1-姓名、年龄、城市、国家等

2-姓名、年龄、城市、国家等

3-姓名、年龄、城市、国家等 . . .

Men
表将包含
Man
中保存在
Men()
数组中的所有行数据

Women
表将包含保存在
Women()
数组中的
Women
的所有行数据

注:-

我尝试过这样的代码,但它很混乱,我失败了:-


您的查询必须在
联合中

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;
因此,您可以获得查询输出:

|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|
之后,您可以循环到结果:

<?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();
?>

编辑上一个问题不要再问为什么你要把女人和男人分开(听起来很有趣)?添加一个性别列(我会输入int,因为这样的原因)让您的代码进行检查,您首先标记了两个以上的性别,然后将其删除。为什么?“我能知道原因吗?”阿南特:是的,我注意到他先标记了你。也许是因为这个问题?因为他之前说过他有两个表
men
women
,所以他可能正在寻找一个
JOIN
查询。IDK我的推测可能是错误的,我认为他的数据在
一个表中
,他希望以不同的方式获取数据,并希望将其显示为
男性表(html表)
女性表(html表)
。如果是你所描述的情况,我无意冒犯。不过我对他如何陈述他的问题有点困惑。我不知道他想让我们怎么解决他的问题。这篇文章有点缺乏数据。没有人接受lad@Anant。他的问题标题与他选择的答案完全相反。
//$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'
        )
    );