php - mysql查询中的二维数组

标签 php mysql sql

嗨,我想创建 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/

相关文章:

php - 运行一个查询并快速找出一个结果 w/a 之前的行数?

mysql - 如何查找每个用户的首次事件日期?

mysql - mysql中如何划分和舍入?

php - Joomla - 合并列中的数据库结果

java - ManyToOne 关系,其中通过两列的串联引用一列

java.sql.SQLException : No suitable driver found for jdbc:ucanaccess://C:\Users\Mr_sk\Desktop\account. 数据库

php - 使用 PHP 打开 MSMQ 队列

php - 无法在 php 脚本中使用 ON DUPLICATE KEY UPDATE

javascript - 从一个表单字段获取条目并在数据库中搜索其相应数据并自动填充表单中的其他字段

mysql - SQL - 查找最接近当前日期的日期