如何获得给定数据库的另一个根


How to get another root for a given database

我在一个火车根项目在php:

让我有三列火车,按如下方式去站:

Train A => 1->2->3
Train B => 2->3->4
Train C => 2->4->5

如果我想去Station 1 to 5,那么我知道我必须换两列火车,首先我必须乘A,然后我必须乘C。但我没有得到任何解决方案,我怎么能实现使用php mysql

我的数据库结构如下: 表1:

列车:Fields : ID, name

表2:

路由:Fields : ID, name

表3:

结局:Fields : ID, trainid, stopid, priority

如果一列火车完成了整个旅程,那么我使用以下查询:

$dest = $_POST['desstaion'];
    $st = $_POST['ststaion'];
    $query = mysql_query("select * from(select busid,position from route where stopid='$st') as a join (select busid,position from route where stopid='$dest') as b on a.busid = b.busid");
    $numResults = mysql_num_rows($query);

如果我需要改变任何火车,那么我如何使用mysql检测这个

这是mysql最需要解决的问题之一。如果只是为了教育目的你可以假设,从1到>3的最短路径是超过2的。但在实际用例中情况并非如此,而且仍然相当困难。您应该考虑使用其他工具!

如果你需要使用MySQL,你可以试着看看这个-> http://www.artfulsoftware.com/infotree/qrytip.php?id=766,但正如所说,这将是困难的!