Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在进行SQL查询时,如何在同一页上使用输入变量?_Php_Html - Fatal编程技术网

Php 在进行SQL查询时,如何在同一页上使用输入变量?

Php 在进行SQL查询时,如何在同一页上使用输入变量?,php,html,Php,Html,我有一个输入字段,它接受用户地址,然后计算其经度和纬度。 我有一个存储地址的数据库,其中有各自的经度和纬度。 我正在进行以下SQL查询,将输入字段中输入的地址与数据库地址进行比较,以找到最近的位置: $sql4 = 'SELECT (ATAN( SQRT( POW(COS(RADIANS(maptable.latitude)) * SIN(RADIANS(maptable.longitude) -

我有一个输入字段,它接受用户地址,然后计算其经度和纬度。 我有一个存储地址的数据库,其中有各自的经度和纬度。 我正在进行以下SQL查询,将输入字段中输入的地址与数据库地址进行比较,以找到最近的位置:

 $sql4 = 'SELECT
     (ATAN(
         SQRT(
             POW(COS(RADIANS(maptable.latitude)) *
                 SIN(RADIANS(maptable.longitude) -
                     RADIANS(wishLongitude)), 2) +
             POW(COS(RADIANS(wishLatitude)) *
                 SIN(RADIANS(maptable.latitude)) -
                 SIN(RADIANS(wishLatitude)) *
                 cos(RADIANS(maptable.latitude)) *
                 cos(RADIANS(maptable.longitude) -
                     RADIANS(wishLongitude)), 2)
         ),
         SIN(RADIANS(wishLatitude)) *
         SIN(RADIANS(maptable.latitude)) +
         COS(RADIANS(wishLatitude)) *
         COS(RADIANS(maptable.latitude)) *
         COS(RADIANS(maptable.longitude) -
             RADIANS(wishLongitude))
     ) * 6371000) as distance,
     maptable.id, maptable.price, maptable.owner, maptable.myaddress, maptable.phone
 FROM maptable
 ORDER BY distance ASC
 LIMIT 15 ';
 $result = $mysqli - > query($sql4);
以及同一页面上的输入字段,用户在其中输入地址:

 <form method='post' id='wishInput' >
                   <input class='form-control' id='autocomplete' placeholder='Enter your address' onFocus='geolocate()' name='myaddress' type='text'></input>
                   <input  name='wishLatitude' id='wishLatitude' >
                   <input  name='wishLongitude' id='wishLongitude'  />
                   <input type='submit' name='wishSubmit'>
                   </form>
如何在查询中使用WISHLONGLITE和wishLatitude变量?

试试这个

if( $_REQUEST['wishSubmit'] )
{
    $wishLatitude = $_REQUEST['wishLatitude'];
    $wishLongitude = $_REQUEST['wishLongitude'];

    $sql4 = "SELECT
     (ATAN(
         SQRT(
             POW(COS(RADIANS(maptable.latitude)) *
                 SIN(RADIANS(maptable.longitude) -
                     RADIANS($wishLongitude)), 2) +
             POW(COS(RADIANS($wishLatitude)) *
                 SIN(RADIANS(maptable.latitude)) -
                 SIN(RADIANS($wishLatitude)) *
                 cos(RADIANS(maptable.latitude)) *
                 cos(RADIANS(maptable.longitude) -
                     RADIANS($wishLongitude)), 2)
         ),
         SIN(RADIANS($wishLatitude)) *
         SIN(RADIANS(maptable.latitude)) +
         COS(RADIANS($wishLatitude)) *
         COS(RADIANS(maptable.latitude)) *
         COS(RADIANS(maptable.longitude) -
             RADIANS($wishLongitude))
     ) * 6371000) as distance,
     maptable.id, maptable.price, maptable.owner, maptable.myaddress, maptable.phone
     FROM maptable
     ORDER BY distance ASC
     LIMIT 15 ";
     $result = $mysqli - > query($sql4);
}

您必须将查询包含在中,以便在查询中使用php变量。

运行良好!: