Код: Выделить всё
$logged_user = mysqli_real_escape_string($conn, $_GET["logged_user"]);
$sql = "
SELECT
u.*,
(
3959 * acos(
cos(radians(52.41357)) *
cos(radians(u.lat)) *
cos(radians(u.lng) - radians(-1.51314816)) +
sin(radians(52.41357)) *
sin(radians(u.lat))
)
) AS distance,
CASE
WHEN l.to_user IS NOT NULL THEN 'true'
ELSE 'false'
END AS isLiked
FROM clients u
LEFT JOIN likes l
ON u.userID = l.to_user
AND l.from_user = '$logged_user'
HAVING distance < 10
ORDER BY distance
LIMIT 99";
$result = mysqli_query($conn, $sql) or die("Error in Selecting " . mysqli_error($conn));
$userOnlineStatus = array();
while ($row = mysqli_fetch_assoc($result)) {
$userOnlineStatus[] = $row;
}
echo json_encode($userOnlineStatus);
Я добавил и добавил поле «hasViewed», но результат тот же, что и «isLiked»: -
Код: Выделить всё
CASE
WHEN l.to_user IS NOT NULL THEN 'true'
ELSE 'false'
END AS hasViewed
Код: Выделить всё
LEFT JOIN viewed l
ON u.userID = l.to_user
AND l.from_user = '$logged_user'
Код: Выделить всё
CASE
WHEN l.to_user IS NOT NULL THEN 'true'
ELSE 'false'
END AS isLiked,
CASE
WHEN 2.to_user IS NOT NULL THEN 'true'
ELSE 'false'
END AS hasViewed
FROM clients u
LEFT JOIN likes l
ON u.userID = l.to_user
AND l.from_user = '$logged_user',
LEFT JOIN viewed 2
ON u.userID = 2.to_user
AND 2.from_user = '$logged_user'
Неустранимая ошибка: Неперехваченное исключение mysqli_sql_Exception: у вас есть ошибка в вашем
Синтаксис SQL; проверьте руководство, соответствующее версии вашего сервера MariaDB
, чтобы найти правильный синтаксис для использования рядом с 'to_user IS NOT NULL THEN
'true' ELSE 'false' END AS hasViewed ...' в строке 19 вC:\Users\julia\OneDrive\Desktop\XAMPP\htdocs\info2.php:46 Трассировка стека:
#0 C:\Users\julia\OneDrive\Desktop\XAMPP\htdocs\info2.php(46): mysqli_query(Object(mysqli), '\r\nSELECT \r\n ...') #1 {main} throwв C:\Users\julia\OneDrive\Desktop\XAMPP\htdocs\info2.php в строке 46
Возможно ли это, или мне нужно попробовать другой подход, это, по сути, все, о чем я прошу.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -left-join