处理多个地点ID的技巧

时间:2019-03-08 08:11:22

标签: php html mysql mysqli

目前我有3个表格的国家/地区,路线和route_place

国家

  • id
  • 名称

餐桌路线

  • id
  • 标题

表route_place

  • id
  • parent_id(来自表路由的ID)
  • 来自(来自国家/地区的ID)
  • 收件人(来自国家/地区的ID)
  • place_name

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

  • 中国(从专栏)-迪拜(至专栏)
  • 迪拜(从专栏)-伦敦(至专栏)

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

  • 中国(从专栏)-迪拜(至专栏)
  • 中国(从专栏)-伦敦(至专栏)
  • 迪拜(从专栏)-伦敦(至专栏)

一个小时后我无法弄清楚逻辑,是否有任何方法或指导方针

例如,我提交了中国-迪拜-伦敦的路线,并按顺序手动选择了路线位置

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

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

2 个答案:

答案 0 :(得分: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
        }
    }
}

答案 1 :(得分:0)

这应该可以解决问题

$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>';

  }

}