2011-04-28 48 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