嗨,我想创建 mysql 查询:
"SELECT *, route.id as id_id, profile.id as profile_id
FROM route_date LEFT JOIN route ON route_date.id_route = route.id
LEFT JOIN profile ON route.user_id = profile.id
WHERE route_date.date_time <= '$hike_date_to_input_updated'
AND (route_date.date_time + INTERVAL (ROUND('$start[id_id][distance_route]'/route.route_distance*route.route_time)) SECOND) >='$hike_date_from_input_updated' AND route.free >= $hike_free
AND route.status = '2'
AND route.type ='1' AND route.id IN (".implode(",",$searching_route_ids).")
ORDER BY route_date.date_time ASC"
问题出在
route_date.date_time + INTERVAL (ROUND('$start[id_id][distance_route]'/route.route_distance*route.route_time)) SECOND) >='$hike_date_from_input_updated'.
如果在此选择期间生成的当前route.id(id_id)中的所有id的匹配条件,我需要计算+秒,并且我已将它们存储在之前计算的二维数组$start[id_id][distance_route]中。如何实现?
最佳答案
无论您的查询是什么,您都可以以完全相同的基本方式从任何选择查询中检索数据。字段名称、表名称等可能会改变,但您仍然使用相同的机制。基本上可以归结为
$result = mysql_query($sql) or die(mysql_error());
$data = array();
while($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}
如果您需要从检索到的数据构建多维数组,您可以这样做
$data[$row['field1']][$row['field2']][...etc...] = $row;
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^
array key #1 array key #2 array keys 3..n
相反。基本上使用检索到的行中的各个值作为新数组中的键。
关于php - mysql查询中的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23112968/