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'
)
);