【问题标题】:Handling Multiple Places ID trick处理多个地点 ID 技巧
【发布时间】:2019-03-11 18:19:29
【问题描述】:

目前我有 3 个表国家、路线和 route_place

国家

  • 身份证
  • 姓名

餐桌路线

  • 身份证
  • 标题

table route_place

  • 身份证
  • parent_id(来自表路由的 ID)
  • 来自(来自国家/地区的 ID)
  • 到(来自国家/地区的 ID)
  • 地点名称

我从国家表中有 3 个目的地中国 - 迪拜 - 伦敦,目前我将数据保存到 route_place 表中,如下所示:

  • 中国(从列)- 迪拜(到列)
  • 迪拜(从列)- 伦敦(到列)

我想像这样将数据保存到 route_place 中

  • 中国(从列)- 迪拜(到列)
  • 中国(从列)- 伦敦(到列)
  • 迪拜(从列)- 伦敦(到列)

一个小时后我无法弄清楚逻辑,有什么方法或一些指导方针

比如我提交了中国-迪拜-伦敦航线,手动按顺序选择航线

  • 中国 - 迪拜
  • 迪拜 - 伦敦

我想做的是它会自动创建从中国到伦敦的另一条路线,而无需我手动插入,因为中国到伦敦也是按顺序前往伦敦的单程。

【问题讨论】:

  • 您正在寻找数据透视表。看看here。
  • 你能再解释一下吗,这不完全是克莱尔,数据是从哪里来的?你只想要一个插入表 route_place 静态信息的 php 脚本吗?
  • 我已经编辑了这个问题,我说清楚了吗? @MohammedYassineCHABLI

标签: php html mysql mysqli


【解决方案1】:

由于您只需要逻辑,因此这是我使用 PHP 时的解决方案。假设您查询 route_place 表 (route_place->to) 上的所有不同目的地并将其插入 $destination 变量。

foreach($destination as $destination) {
    foreach($route_place as $route_place) {
        if ($route_place->from == $destination->to and $route_place->id != $destination->id) {
            //save this route to database
        }
    }
}

【讨论】:

    【解决方案2】:

    这应该可以解决问题

    $array = array('China','Dubai','London');
    
    $array_length = count($array);
    
    for ($i = 0; $i < $array_length - 1; $i++){
    
      for($j = $i+1; $j < $array_length; $j++){
    
        echo $array[$i] . " to " . $array[$j] .'<br>';
    
      }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2015-05-05
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-04
      • 1970-01-01
      • 2013-10-27
      相关资源
      最近更新 更多