555 0 Опубликовано: 9 ноября 2018 Рассказать Опубликовано: 9 ноября 2018 Всем привет, пишу сайт и в нём написал раздел Личные сообщения. Посещаешь страницу человека, и кнопка отправить сообщения.в БД сделал таблицуidfrom_loginto_loginmessagetimeНаписал скрипт на php, всё работает, но есть проблема. Сообщения находятся всегда вверху отправителя, я сортировал по времени, но оно сортирует только его смс, а после его сообщений уже находятся мои. Буду очень благодарен если поможете, гуглил не нашёл ничего годного, Мне нужно чтобы были сообщения в порядке, последовательно. Написал он, если я ответил ты выводить его сообщение потом моё. У меня всегда находятся сообщения верху того, с кем мы переписываемся, потом как его сообщения закончились, идут мои.Вот мой код php: <?php //Подключение к БД $connect = mysqli_connect('localhost', 'root', '', 'ruletka'); //Данные в куки $login = $_COOKIE['pass']; $time = date("H:i:s"); //Выводим ник получателя $query = ("SELECT * FROM `users` WHERE `id` = '$_GET[id]'"); $data = mysqli_query($connect, $query); $result = mysqli_fetch_row($data); $result[1]; //Поле и кнопка $message = $_POST['message']; $enter = $_POST['enter']; //Заносим сообщение в бд if (isset($enter) && !empty($message)) { $query = ("INSERT INTO `privatemessage` (`from_login`, `to_login`, `message`, `time`) VALUES ('$login', '$result[1]', '$message', '$time')"); $data = mysqli_query($connect, $query); } echo "<hr> <p class='login'><a href = 'user.php?id=$result[0]'>$result[1]</a></p> <div class='bordertop'></div> <div class='bordersend'></div> <form action ='privatemessage.php?id=$result[0]' method='POST'> <div class='send'> <textarea name = 'message' rows='2' cols='60' placeholder='Напишите сообщение...'></textarea> </div> <div class='sendbuttom'> <input type='submit' name='enter' size='20'> </div> </form>"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Диалоги</title> <style type="text/css"> h2{ z-index: 2; } .border{ overflow: scroll; border: 1px solid #E3E4E8; background: white; position: absolute; top: 104px; left: 400px; width: 550px; height: 455px; } hr{ border: none; /* Убираем границу */ background-color:#4A76A8; /* Цвет линии */ height: 47px; /* Толщина линии */ width: 1367px; position: absolute; top: -10px; left: -1px; } .bordersend{ border: 1px solid #E3E4E8; background: white; position: absolute; top: 560px; left: 400px; width: 550px; height: 50px; } .send{ position: absolute; top: 570px; left: 410px; } textarea{ resize: none; } .sendbuttom{ position: absolute; top: 570px; left: 860px; } input{ height: 35px; } .bordertop{ border: 1px solid #E3E4E8; background: white; position: absolute; top: 53px; left: 400px; width: 550px; height: 50px; } .login{ z-index: 3; position: absolute; top: 35px; left: 630px; font-size: 30px; } .message{ position: absolute; top: 20px; left: 30px; } a{ text-decoration: none; } </style> </head> <body bgcolor='#EDEEF0'> <div class='border'> <div class = 'message'> <?php ////Выводим ник отправителя $query2 = ("SELECT * FROM `users` WHERE `login` = '$login'"); $data2 = mysqli_query($connect, $query2); $result2 = mysqli_fetch_row($data2); //Выводим ник получателя $query1 = ("SELECT * FROM `users` WHERE `id` = '$_GET[id]'"); $data1 = mysqli_query($connect, $query1); $result1 = mysqli_fetch_row($data1); //Выводим сообщение для получателя $query = ("SELECT * FROM `privatemessage` WHERE `from_login` = '$result1[1]' and `to_login` = '$login' "); $data = mysqli_query($connect, $query); $i = 1; while ($result = mysqli_fetch_array($data)) { echo "<div style = 'overflow-auto'><a href = 'user.php?id=$result1[0]'>$result[1]</a><br>$result[3]<br>$result[4]<br></div><br>"; $i++; } ////Выводим сообщение для отправителя $query = ("SELECT * FROM `privatemessage` WHERE `to_login` = '$result1[1]' and `from_login` = '$login' "); $data = mysqli_query($connect, $query); $i = 1; while ($result = mysqli_fetch_array($data)) { echo "<a href = 'user.php?id=$result2[0]'>$result[1]</a><br>$result[3]<br>$result[4]<br><br>"; $i++; } ?> </div> </div> </body> </html> Отправлено спустя 2 минуты 45 секунд:В БД добавляется всё правильно, вся последовательность верная. Вот с выводом проблема. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Пожалуйста, войдите для комментирования
Вы сможете оставить комментарий после входа
Войти сейчас