在select query
table
过滤查询数据
如果是gender equal to Man
,则将其全部放入数组men = array()
OR
如果它的gender is woman
然后放入数组woman = array()
然后echo
两个表
Men
表
1姓名,年龄,城市,国家等
2姓名,年龄,城市,国家等
3姓名,年龄,城市,国家等 。 。
Women
表
1姓名,年龄,城市,国家等
2姓名,年龄,城市,国家等
3姓名,年龄,城市,国家等 。 。 。
Men
表将包含保存在Man
数组中的Men()
的所有行数据
Women
表将包含保存在Woman
数组中的Women()
的所有行数据
注意: -
我尝试过这样的代码,但它的混乱我失败了: -
答案 0 :(得分:1)
您的查询必须位于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;
所以你可以有一个查询输出:
|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();
?>
输出将如下:
//$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'
)
);