Я задавал этот вопрос раньше и получил ответ, но хочу сделать по-другому. Я создаю социальный сайт, на котором люди могут писать друг другу сообщения. Я хочу показать div с синим фоном, если столбец opened
равен == 0
. Но то, что у меня есть сейчас, показывает только div в пустом столбце else.
Итак, цвет фона сразу же переходит прямо в цвет else, даже если условие истинно и он должен показывать синий цвет. Любая помощь?
public function getConvos () {
$userLoggedIn = $this->user_obj->getUsername();
$return_string = "";
$convos = array();
$query = $this->con->prepare('SELECT user_to, user_from, opened FROM messages WHERE
user_to = ? OR user_from = ? ORDER BY id DESC');
$query->bind_param("ss", $userLoggedIn, $userLoggedIn);
$query->execute();
$query_result = $query->get_result();
while ($row = $query_result->fetch_assoc()) {
$user_to_push = ($row['user_to'] != $userLoggedIn) ? $row['user_to'] : $row['user_from'];
if(!in_array($user_to_push, $convos)) {
array_push($convos, $user_to_push);
}
$color = ($row['opened'] == '0') ? "#DDEDFF" : "";
}
foreach ($convos as $username) {
$user_found_obj = new User($this->con, $username);
$latest_message_details = $this->getLatestMessage($userLoggedIn, $username);
$return_string .= "<a href='messages.php?u=$username'><div class='user_found_messages'
style='background-color: $color;' >
<img src='" . $user_found_obj->getProfilePic() .
"' style='border-radius: 5px; margin-right: 5px;'>
". $username ."<br/>".
$latest_message_details . "</div></a>";
}
return $return_string;
}
.user_found_messages {
padding-left: 10px;
padding-top: 20px;
padding-bottom: 10px;
height: auto;
border-bottom: 1px solid #d9d9d9;
}
.user_found_messages:hover {
background-color: #e6ffff;
color: #669999;
}
.user_found_messages img {
height: 105px;
float: left;
margin-top: 1px;
margin-right: 5px;
}