Задать вопрос
@WeBBeW

Система сообщений.Как сделать чтобы у user_one выводились свои сообщения которые он писал,а у user_two свои?

<?$result_message_send = mysqli_query($connect,"SELECT * FROM `message` WHERE 
        `user_one`='$idsheet_message_id' AND `user_two`='$get_to'");
	while ($row_message = mysqli_fetch_assoc($result_message_send)) {
		echo "<nobr>Вы - ".$row_message['message']."<br>Он - ".$row_message['message']."</nobr><br>";
}?>

Если не понятно объяснил то скажите
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
OKyJIucT
@OKyJIucT
Sunshine reggae
Если я правильно все понял и у вас есть три поля (важных для вопроса) - message, user_one, user_two, причем если это сообщение от user_one, то поле user_two = null. А значит решение будет выглядеть так

while ($row_message = mysqli_fetch_assoc($result_message_send)) {
    if($row_message['user_one']) {
        echo "<nobr>Вы - " . $row_message['message'] . "<br></nobr>";
    } else {
        echo "<nobr>Он - " . $row_message['message'] . "<br></nobr>";
    }
}


А в целом, я бы советовал вам внести коррективы в таблицу - убрать поле user_two, а user_one заменить на user_id, и сделать таблицу со списком юзеров. Потому как если у вас будет 50 юзеров, вам придется добавлять под каждого еще одно поле в таблице и менять каждый раз код вывода, а так у вас будет храниться список сообщений с айди автора из таблицы с пользователями.

Если планируете сделать диалоги между разными пользователями (либо приватные сообщения в общем чате), то надо будет еще одну таблицу сделать с полями id, user_1, user_2, и в таблицу с сообщениями добавить поле dialog_id, чтобы понимать, какое сообщение к какому диалогу относится. А в таблице с диалогами вы будете видеть участников диалога. Ну это так, мысли вслух.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽