spitfly
у меня есть цикл
</>
$result_acc = mysqli_query($conn, «SELECT * FROM users WHERE name=» . $_SESSION[‘name’]);
$acc_row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$result = mysqli_query($conn, «SELECT * FROM likes WHERE post_id='{$i}'»);
$result_row = mysqli_fetch_array($result, MYSQLI_ASSOC);
if(isset($result_row[‘post_id’])){
foreach ($result_row as $key => $value) {
if($key == «user_id»){
echo (int) $value == (int) $acc_row[‘user_id’] ? ‘hi’ : ‘goodbuy’;
print_r($value);
if ((int) $value == $acc_row[‘user_id’]){
$likes[‘likes_post’][$i] = true;
break;
}
else {
$likes[‘likes_post’][$i] = false;
}
}
}
} else {
$likes[‘likes_post’][$i] = false;
}
</>
и лайк поставлен пользователем 1 и в этой проверке почему-то 1 не равняется 1
artoodetoo
Оформи код в ббкод [php]. Сейчас он нечитабелен.
spitfly
как
— Добавлено —[/php]?
— Добавлено —PHP:
foreach ($result_row as $key => $value) { if($key == «user_id»){ echo (int) $value == (int) $acc_row[‘user_id’] ? ‘hi’ : ‘goodbuy’; if ((int) $value == $acc_row[‘user_id’]){ $likes[‘likes_post’][$i] = true; break; } else { $likes[‘likes_post’][$i] = false; } } } } else { $likes[‘likes_post’][$i] = false; }
miketomlin
В $_SESSION[‘name’] точно число? А то такое ощущение, что выбираешь по имени, а не по id
Я тебе уже писал, как нужно бороться с повторными лайками Групповой юник пост-пользователь. Мускул не добавит дублирующуюся запись. Ты отловишь этот момент и пошлешь пользователя подальше. Или сделаешь дизлайк, т.е. попробуешь удалить эту запись.
spitfly
в session name имя и я беру по имени
miketomlin
Имя в кавычках нужно писать плюс экранировать, если множество используемых символов не ограничено. А вообще надо по id
artoodetoo
Когда-то писал свою систему лайков, буду рад поделиться: https://fluxbb.qb7.ru/forum/viewtopic.php?id=3991
— Добавлено —
Уникальный индекс по паре полей post_id+user_id позволит гарантировать что дублей не будет.
И не обязательно перед добавлением лайка делать запрос select. Тем более что-то искать в цикле Можно сразу пытаться добавить лайк и потом проверить была ли операция успешной.
Похожие записи:
- Программа расчета небоскребов для размера NxN, версия 2 (с использованием функции отслеживания с возвратом)
- Закажите таблицу по столбцу и получите номер строки
- Программа расчета небоскребов для размера NxN, версия 3 (с использованием битовых масок)
- Как проверить значение option у формы
- Как перезаписать в БД на php 7.2