您好我想创建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的匹配条件,我需要计算+秒,并且我已将它们存储在先前计算的2d数组$ start [id_id] [distance_route]中。如何实现呢?
答案 0 :(得分:0)
无论您的查询是什么都无关紧要,您可以使用完全相同的基本方式从任何选择查询中检索数据。字段名称,表名等可能会改变,但您仍然使用相同的机制。基本上归结为
$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
代替。基本上使用检索到的行中的各个值作为新数组中的键。