使用毕达哥拉斯定理来找到距离内的点

时间:2011-04-28 19:16:00

标签: php mysql math

好的我有一个拥有3个字段planetkey,xcoord,ycoord ......的数据库。

我想在输入的位置30之内找到所有的行星。这就是我所拥有的......

$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  '];
}

1 个答案:

答案 0 :(得分: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)";