/var/www/vhosts/m-auto.co/httpdocs
Edit: /var/www/vhosts/m-auto.co/httpdocs/find_nearest_branch.php (2889B)
false,
'message' => 'الرجاء توفير الإحداثيات'
]);
exit;
}
$userLat = floatval($input['lat']);
$userLng = floatval($input['lng']);
try {
// Get all branches from database
$sql = "SELECT id, name, address, phone, lat, lng FROM branches WHERE lat IS NOT NULL AND lng IS NOT NULL";
$result = $conn->query($sql);
if ($result->num_rows == 0) {
echo json_encode([
'success' => false,
'message' => 'لا توجد فروع متاحة حالياً'
]);
exit;
}
$nearestBranch = null;
$minDistance = PHP_FLOAT_MAX;
// Calculate distance to each branch
while ($branch = $result->fetch_assoc()) {
$distance = calculateDistance(
$userLat,
$userLng,
floatval($branch['lat']),
floatval($branch['lng'])
);
if ($distance < $minDistance) {
$minDistance = $distance;
$nearestBranch = $branch;
$nearestBranch['distance'] = round($distance, 2);
}
}
if ($nearestBranch) {
echo json_encode([
'success' => true,
'branch' => [
'name' => $nearestBranch['name'],
'address' => $nearestBranch['address'],
'phone' => $nearestBranch['phone'],
'distance' => $nearestBranch['distance']
]
]);
} else {
echo json_encode([
'success' => false,
'message' => 'لم يتم العثور على فروع قريبة'
]);
}
} catch (Exception $e) {
echo json_encode([
'success' => false,
'message' => 'حدث خطأ في النظام'
]);
}
$conn->close();
?>