jjzjj

php - SQL/PHP 我有开始和结束位置,但想从表中找到连接腿

coder 2024-04-20 原文

我在遍历我的 tableLegs 以获得公交车时刻表以找到乘客从 a 到 b 需要乘坐的路段 legID 的数组时遇到问题,例如,乘客想从 cLocID 出发,前往 pLocID,我想构成该行程 LegID(010204)的行程数组,希望很容易理解。

table 腿

=============================================
LegID    startLocID   endLocID   departTime
 01          a           e        9:00
 02          e           i        10:00
 03          i           m        11:00
 04          i           q        11:00

tableLegStops

=========================================
LegID     stopNo    LocID     TripTime
  01         1         a       0 min
  01         2         b       20 min
  01         3         c       30 min
  01         4         d       40 min
  01         5         e       60 min
  02         1         e       0 min
  02         2         f       20 min
  02         3         g       30 min
  02         4         h       40 min
  02         5         i       60 min
  03         1         i       0 min
  03         2         j       20 min
  03         3         k       30 min
  03         4         l       40 min
  03         5         m       60 min
  04         1         i       0 min
  04         2         n       20 min
  04         3         o       30 min
  04         4         p       40 min
  04         5         q       60 min

为了让您了解我在这里尝试实现的目标,这是一个巴士网站,其中每次行程都由不同的路段组成。

最佳答案

此任务称为在图中搜索最短路径。存在 Dijkstra algorithm 的实现用于根据 MySQL 存储过程解决此问题。

但这可能需要您稍微更改表结构,因为该图仅使用两种类型的实体:节点和边。所以你应该将你的腿分解成边,然后在你得到边中的最短路径后推导出腿。

关于php - SQL/PHP 我有开始和结束位置,但想从表中找到连接腿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171074/

有关php - SQL/PHP 我有开始和结束位置,但想从表中找到连接腿的更多相关文章

  1. javascript - 确定 https 连接中使用的密码 - 2

    使用php(在Apache下)或JavaScript是否有任何方法可以确定用于当前SSL(https)连接(即rsa_aes_256_sha)的密码套件或密码规范? 最佳答案 在服务器端,在PHP中,您应该能够访问mod_ssl'sSSL_CIPHERenvironmentvariable使用PHP的$_SERVERvariable.您还需要在Apache配置中使用SSLOptions+StdEnvVars。 关于javascript-确定https连接中使用的密码,我们在Sta

  2. php - JMSSerializer 预期输入结束,但得到类型为 T_NONE 的 "/" - 2

    我正在使用JMS序列化和反序列化我的实体我有一个批处理过程来生成一个json文件,其他人读取该文件我的实体有一个DateTime字段,如下所示/***@var\DateTime**@ORM\Column(name="inscription_date",type="datetime",nullable=false)*@JMS\Type("DateTime<'d/m/Y'>")*/private$inscriptionDate;当实体被序列化时结果是"inscription_date":"3

  3. php - Symfony2 自动加载器找到文件但没有找到类 - 2

    我试图在没有供应商的情况下安装symfony2,但在运行app_dev.php时我不断收到以下错误:RuntimeException:Theautoloaderexpectedclass"Symfony\Component\EventDispatcher\Event"tobedefinedinfile"/var/www/caremonk/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Event.php".Thefilewasfoundbuttheclasswasnotinit,t

  4. php 位置重定向和特殊字符 - 2

    到现在为止我只是在阅读,但现在我有了第一个问题,希望有人能帮助我。您通过提交执行搜索:input:Lösung?Tösung&->url:http://127.0.0.1/?search=Lösung%3F+Tösung%26如果您没有登录,那么我将使用url_encode重定向(位置header)搜索以登录:...login/return_url=http%3A%2F%2F127.0.0.1%2F%3Fsearch%3DLösung%3F+Tösung%26amp%3B我得到$_GET['return_url']的“错误”结果:http://127.0.0.1/?sea

  5. php - 了解php中下载文件的位置 - 2

    我在download.php文件中有这段代码:$file=//pathtofile(forexample.xlsxfile)if(file_exists($file)){header('Content-Description:FileTransfer');header('Content-Type:application/vnd.ms-excel');header('Content-Disposition:attachment;filename=file.xlsx');header('Content-Transfer-Encodin

  6. php - 如何检测鼠标光标在div中的位置 - 2

    这个问题在这里已经有了答案:Findmousepositionrelativetoelement(29个答案)关闭9年前。我有一个100像素宽的矩形跨度,我希望用户从0-100%中进行选择。无论他们在div中沿宽度方向单击什么位置,该值都会被保存并立即使用ajax显示给用户。因此,如果他们恰好在div的中间单击,则节省的值将为50%。我想不出一种优雅的方式来做到这一点!有什么建议吗?

  7. php - ${/*var in here*/} 做什么。我无法在任何地方找到任何结果 - 2

    这是一个非常愚蠢的问题,但对于我来说,我无法弄清楚这是做什么的。根据过去的经验,如果你不知道就问,否则永远保持愚蠢代码如foreach($arras$key=>$val){${$key.'Count'}=0;}提前致谢 最佳答案 这是一个variablevariable.大括号内的结果字符串用作变量的名称。因此,如果您有以下情况:$arr=array('foo'=>'bar');foreach($arras$key=>$val){${$key.'Count&#

  8. php - 404 Page Not Found 没有找到您请求的页面。代码点火器 - 2

    这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我已经在codeigniter上开发了一个web应用程序..这是我第一次使用code-igniter..在我的本地主机上开发了一个web应用程序之后.所以我决定把我的code-igniterweb应用程序放在临时免费服务器..所以我在这个网站上上传了我的网站1freehosting...然后我导入了我的数据库..之后我更改了database.php文件中的

  9. php - 函数的链接结果?从什么时候开始这可能? - 2

    当我错误地输入我认为会引发错误的内容时,我感到非常惊讶:functionr(){returnarray('foo');}echor()[0];令我惊讶的是,它起作用了,甚至没有发出通知。我记得第一次尝试时无法执行此操作,我注意到在键盘上anerrorwasraised.我正在运行PHP5.4.4并且想知道何时添加了此功能以及我可以在哪里阅读更多相关信息。Google只显示了PHP5MethodChaining的结果,但我想这是其他东西? 最佳答案 从PHP5.4开始,可以“数组取消引用”直接对函数/方法的结果;在PH

  10. php - PHP 如何优雅地关闭本地套接字连接...? - 2

    我有一个PHP客户端通过纯文本Unix域套接字连接到本地C服务器程序。但是,我可以很好地关闭它的唯一方法是如果我完成套接字session:stream_socket_shutdown($sock,1);//shutdownsocketwritingusleep(500*1000);//waitfor0.5secondsfclose($sock);//actuallyclosethesocket(finally)我想像我的C客户端一样优雅地关闭它:-shutdown(connection_fd,SHUT_WR);//tellserverwe'vestoppedsendingque

随机推荐

  1. 巧用replit搭建免费的个人云服务器 - 2

    初识replit,被它的免费托管和域名服务所吸引。replit是个啥?在经过一番尝试后,发现这玩意儿挺有意思,佩服老外的想象力和创新力真强。竟还能搭建个人的云服务器,连域名都有了,这可真香。对个人开发者来说连云服务器都省了。想搭建个人网站或开发测试没有云环境的可以用这个,好用且免费。这里推荐一下,并介绍下如何使用replit搭建免费的云服务器。简介官网地址:Replit:thecollaborativebrowserbasedIDE-ReplitReplit是一个新手开

  2. 【Linux系统】进程概念 - 2

    目录1冯诺依曼体系结构2操作系统(OperatorSystem)概念设计OS的目的定位总结系统调用和库函数概念3进程3.1基本概念3.2描述进程-PCB3.2组织进程 3.3查看进程3.4 通过系统调用获取进程标示符3.5进程状态在了解进程概念前我们还得了解下冯诺依曼体系结构和操作系统的概念与定位。1冯诺依曼体系结构我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系:输入单元:包括网卡,键盘,鼠标,扫描仪,写板,话筒等;中央

  3. 【Spring6源码・IOC】Bean的初始化 - 终结篇 - 2

    前面两篇,我们着重讲解了一下《BeanDefinition的加载》和《bean的实例化》。这一篇我们来讲解一下bean的初始化。我们这里的案例依旧是以SpringBoot3.0、JDK17为前提,案例代码如下:@ComponentpublicclassA{@AutowiredprivateBb;}@ComponentpublicclassB{@AutowiredprivateAa;}首先,先明确一下这个三级缓存:一级缓存singletonObjects中存放完全初始化好的bean的实例。二级缓存earlySingletonObjects中存放早期对象(未完全初始化完成的bean实例)。三级缓存

  4. verdi使用记录 - 2

    查找module(shiift+s),字符(/),信号(shift+a)查找模块中的信号以及筛选makershift+m创建maker,箭头选择鼠标左键对应标志线的时间点,第二个图标选择鼠标中键对应的时间点,在这个界面里还能进行颜色和线型的设置创建maker之后,波形栏里出现这个图标,点击这个图标可以选择跳到哪个maker createbus将一些信号组合到一起创建自定义的一个信号  reversemoveup,movedown等调整信号的位置&

  5. Linux之GPIO应用 - 2

    目录一、sysfs文件系统二、LED标准接口三、GPIO标准接口1.gpiochipX2.export①direction​②value③active_low④edge 3.unexport在Linux系统下,一切皆文件。应用层操控底层硬件可以通过文件I/O的方式来实现,应用层通过对设备文件的I/O操作来操控硬件设备,设备文件其实是与硬件设备相互对应的。设备文件通常在/dev/目录下,/dev目录下的文件称为设备节点。这也是驱动开发中常用的测试驱动程序方法。还有另外一种方式可以通过sysfs文件系统对硬件设备进行操控。 一、sysfs文件

  6. STM32F103C8T6实现CAN通讯与直流编码电机转速闭环控制 - 2

    本次实验目的是通过CAN发送目标转速与转向信息,接收方在接到CAN数据流后开始对直流编码电机进行转速闭环控制。我会尽量说清每个函数,注释每一句代码,希望能对大家有所帮助。CAN通讯基于STM32自带CAN通讯模块,配合库函数使用十分方便。关于CAN通讯可以参考站内大佬的文章,讲解的十分透彻,末尾会提供链接。 电机驱动基于定时器1和TB6612,转速测量基于定时器2和直流电机自带编码器。另外,可通过三个LED来显示电机状态(正转,反转和停止)&

  7. 数字电位器程控可调电阻IC - 2

    一、前言目录一、前言二、环境三、正文1.MAX5432/54332.MAX54383.X95114.MCP454X/456X/464X/466X5.X9C102/103/1046.AD73767.AD8400/AD8402/AD8403四、结语数字电位器又叫可编程电阻器,是一种替代传统机械电位器的新型CMOS数字、模拟混合信号处理集成电路,不需要搭建复杂的电路环境即可简单的通过CPU数字通讯实现电路调节,数字电位器也不能完全替代传统的机械电位器,在很多场合电流,电压,电阻精度等参数大大限制了数字电位器的选择&#

  8. mciSendString函数简介(播放音乐以及录音相关操作) - 2

    函数功能:播放多媒体音乐,视频等mciSendString是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等。这个函数有自己的mci指令,可以通过不同的指令实现不同的功能。这里我会详细讲解mciSendString这个函数的常见用法,以及怎么去对音乐播放,快进、快退、录音等功能。目录设置环境 mciSendString函数相关介绍        mciSendString函数的参数(一共有4个参数): 1.播放功能 2.关闭结束播放 3.暂

  9. nodejs下载安装以及配置全局变量 - 2

    一、下载官网下载:1、https://nodejs.org/dist/v10.16.3/node-v10.16.3-win-x64.zip2、http://nodejs.cn/download/注:根据自己的项目对应电的nodejs版本去下载对应的,否则肯出现项目无法运行的情况二、安装无脑下一步即可,安装完成后nodejs会自行配置全局变量注:根据自己需求更换安装的位置再创建完两个空文件夹:node_global,node_cachenpmconfigsetprefix“D:\Nodejs\nod

  10. 软件测试周刊(第87期):天下就没有偶然,那不过是化了妆的、戴了面具的必然。 - 2

    欢迎来到第87期!这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。本期看点:H5和微信小程序在测试上的区别是什么?支付宝商家体验质量技术如何从1到1.1?优化代码检测平台的血泪史;如何通过线上场景提升回归、压测、攻防的有效性?Google软件工程之文化篇;面向对象分析与设计的底层逻辑;如何从零开始做性能优化?面试时如何快速区分两个差不多的人?怎么写专利?·阅读愉快!🐞软件测试1.H5和微信小程序在测