小编use*_*793的帖子

Mysql多个左连接在同一个表上

我有一个表有两个字段,引用另一个表的ID.我需要从两个字段的另一个表中提取名称.

例如.

 
Table1
worker1 = 2  (2 is key to other table)
worker2 = 4

Table2 ID NAME 1 Bill 2 Fred 3 John 4 Paul

我需要获得$ worker1name = Fred和$ worker2name = Paul.

所以我会说:

SELECT xxx, NAME?, NAME? FROM Table1
LEFT JOIN Table2 AS p1 ON Table1.worker1 = Table2.ID
LEFT JOIN Table2 AS p2 ON Table1.worker2 = Table2.ID
WHERE ...

$table = mysql_query(...);
$rec = mysql_fetch_assoc($table);
$worker1name = $rec['???'];
$worker2name = $rec['???'];
Run Code Online (Sandbox Code Playgroud)

我在最后两个语句中插入什么来获取这两个名称.或者更准确地说,我必须添加到SELECT中以指定我想要从表2中调用两个不同版本的NAME字段吗?

php mysql sql left-join

6
推荐指数
1
解决办法
2万
查看次数

用于打开原生Android或IOS地图的HTML链接,显示越野地标

我的网络应用程序显示一张Google地图,其地标显示了越野位置.我正在将其转换为在移动设备上运行.

我可以使用以下PHP代码和链接在IOS和Android中成功打开本机地图应用程序.(在运行Android 4.1.2的三星Galaxy S2上测试过):

$latlong ='-28.546604,153.540777';
echo '<a href="http://maps.apple.com?daddr='.$latlong.'">Take Me There</a>';
Run Code Online (Sandbox Code Playgroud)

问题是它没有在显示越野位置的原生谷歌地图上放置任何地标.它只显示行驶路线,终点在最近的街道.无论是单击导航还是单击底部的"方向"选项,结果都相同.

我也用这样的直接(仅限Android)链接进行了测试,但它没有区别:

<a href="http://maps.google.com/maps?daddr='.$latlong.'">
Run Code Online (Sandbox Code Playgroud)

我尝试了这种形式的链接:

<a href="geo:'.$latlong.'">Take Me There</a>
Run Code Online (Sandbox Code Playgroud)

它直接进入谷歌地图本机,而不询问任何关于使用哪个应用程序的初步问题,我更喜欢,但它只显示一个空白的地图屏幕.如果我点击地图右上角的图标,它会显示正常的导航屏幕,但是以我当前的位置为中心,并且我的目的地没有地标.

有没有办法强制原生应用程序在确切的指定越野纬度/长位置显示地标?

我自己找到了答案.由于这个stackoverflow的答案,解决方案非常简单

实际上,这正是我在PC上显示Google地图的旧代码所做的事情.(Doh!)只需在latlong之后添加(标签)值即可显示地标.像这样:

$dest = 'my destination';
$latlong ='-28.546604,153.540777';
echo '<a href="http://maps.apple.com?daddr='.$latlong.'('.$dest.')">Take Me There</a>';
Run Code Online (Sandbox Code Playgroud)

在Android 4.1.2上测试并运行良好(即使链接指向Apple,它也足够聪明地使用谷歌地图应用程序.我认为它也适用于Apple.

android google-maps google-maps-api-3 ios

5
推荐指数
1
解决办法
3221
查看次数

标签 统计

android ×1

google-maps ×1

google-maps-api-3 ×1

ios ×1

left-join ×1

mysql ×1

php ×1

sql ×1