Jump to content

Finding closest number to given x and given y in the database.


cody4camp

Recommended Posts

I am designing a mmorpg guild site, and decided to make a coordinate database. A user will enter their own coords, x and y, and the 10 closest coords to them will be displayed.

 

I need help doing this. My table is:

 

id

coordx

coordy

alliance

region

 

I am using $_GET to retrieve the user's input. so

$_GET['mex']

$_GET['mey']

 

Thanks in advance for your help.

 

Link to comment
Share on other sites

pseudo-query (after validating/escaping get values):

 

SELECT id, alliance, region, ABS(sqrt(($_GET['mex'] - coordx) ^ 2 + ($_GET['mey'] - coordy) ^ 2)) AS distance FROM some_table ORDER BY distance

 

you'll probably want to use an absolute value, as negative distances will be encountered.

Link to comment
Share on other sites

$result=dbquery("SELECT alliance, region, coordx, coordy, ABS(sqrt(($playerx - coordx) ^ 2 + ($playery - coordy) ^ 2)) AS distance FROM ".DB_COORDFUSION." ORDER BY distance LIMIT 25");

 

Also, the distance shows up in the table aswell. here is what it returns:4294967296

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.