2011-04-28 57 views
2

确定我已经有3场planetkey,XCOORD,YCOORD数据库...利用勾股定理的距离

我想找到内输入位置的30所有planetkeys ..这是内发现点我有什么...

$sql2 = "SELECT * FROM adlplanet WHERE SQRT(POW(xcoord - 172.3900, 2) + POW(ycoord - 247.5000, 2) < 30"; 
$queryrow2 = mysql_query($sql2);   
while ($jumpl = mysql_fetch_array($queryrow2)) { 
     echo $jumpl['PlanetKey ']; 
} 
+2

您错过了一个关闭SQRT的设置。如果这不能解决问题,你还会得到什么其他错误? – Vache 2011-04-28 19:18:26

+0

你的问题是什么? (除了在第一行sqrt丢失')',我猜...) – 2011-04-28 19:18:41

+0

我刚才看到.. – LabRaTT 2011-04-28 19:29:21

回答

2

其计算公式为(x-a)^2 + (y-b)^2 = c^2

所以30应该是30^2:

$sql2 = "SELECT * FROM adlplanet WHERE SQRT(POW(xcoord - 172.3900, 2) + POW(ycoord - 247.5000, 2) < POW(30,2)"; 
+0

哎呀,忘了添加原来文章中缺少的额外')'。 – JohnL 2011-05-31 05:46:13