Вызовите запрос из другого запроса в MySQL и загрузите только 1 JSON

Я хочу позвонить и выбрать запрос на другой запрос из другой таблицы и отправить только один JSON. Я получил 2 таблицы (towing_list а также towing_info)

JSON получить метод

[{"towing_id":"51","towing_username":"tow","towing_latitude":"3.7310769",
"towing_longitude":"103.1240930","distance":"0"},
{"towing_id":"56","towing_username":"tow1","towing_latitude":"3.7311311",
"towing_longitude":"103.1239854","distance":"0.013374089073083037"}]

я хочу использовать «towing_username» и вызывать их детали из другой таблицы, а их «towing_fullname» и «towing_contactnumber», так что он получит этот результат json ниже:

[{"towing_id":"51","towing_username":"tow","towing_fullname":"tow_name",
"towing_contactnumber":"0123456789","towing_latitude":"3.7310769",
"towing_longitude":"103.1240930","distance":"0"},
{"towing_id":"56","towing_username":"tow1","towing_fullname":"tow1_name",
"towing_contactnumber":"01518191904","towing_latitude":"3.7311311",
"towing_longitude":"103.1239854","distance":"0.013374089073083037"}]

Мой стол

towing_list : (towing_id,towing_username,towing_latitude,towing_longitude)
towing_info : (towing_id,towing_username,towing_fullname,towing_contactnumber)

это часть моего кода

$q = "
SELECT  * , (
6371 * acos (
cos ( radians($lat) )
* cos( radians( towing_latitude ) )
* cos( radians( towing_longitude ) - radians($lon) )
+ sin ( radians($lat) )
* sin( radians( towing_latitude ) )
)   ) AS distance FROM towing_list WHERE `towing_status`='$status' HAVING distance < $total_dis_miles

ORDER BY distance LIMIT 0 , 20 ";

$r = mysql_query($q);

while ($row=mysql_fetch_object($r)) {  $array[]=$row; }

echo json_encode($array);

Можно ли это сделать? Я новичок в JSON. Пожалуйста помоги..

0

Решение

Вы можете использовать присоединиться

$q = "SELECT * , ( 6371 * acos (
cos ( radians($lat) ) * cos( radians( towing_latitude ) ) * cos(radians( towing_longitude ) - radians($lon) ) + sin ( radians($lat) ) * sin( radians( towing_latitude ) ) ) ) AS distance FROM towing_list INNER JOIN towing_info ON towing_info.towing_id = towing_list.towing_id WHERE towing_status='$status' HAVING distance < $total_dis_miles
ORDER BY distance LIMIT 0 , 20 ";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]