У меня есть поле для комментариев, где пользователи могут отправлять вопросы и отвечать друг другу.Mysql LEFT JOIN remover
в $ строка выглядит следующим образом:
$posts_sql = "SELECT * FROM posts LEFT JOIN users ON posts.post_by = users.user_id WHERE posts.post_topic = " . mysql_real_escape_string($_GET['id']);
Это то, что он получает после того, как они говорят друг друга в поле: «Что я могу вам помочь»
Пользователь 1 пишет.
Пользователь 2 отвечает «Nothing Special».
Пользователь 3 говорит: «Ладно, добро пожаловать назад».
Пользователь 1 ответ еще раз на ответ Пользователь 2 только что дал, но этот второй комментарий Пользователь 1 сделал снова прямо в начало страницы, пропустив ответ пользователя 2 и положил комментарий на него. Например:
Пользователь 1: Чем я могу вам помочь?
Пользователь 1: Хорошо, добро пожаловать.
Пользователь 2: Ничего особенного.
Я хочу, чтобы это было так: User 1: Чем я могу вам помочь?
Пользователь 2: Ничего особенного.
Пользователь 1: Хорошо, добро пожаловать.
Я не знаю, как удалить LEFT JOIN пользователей ПО (я предполагаю, что это скрипт, который делает это)
Я хочу, чтобы это было: ORDER BY POST_DATE DESC, комментарий после комментария, не перемещая Имя пользователя-х ID, чтобы придерживаться его.
Как я могу изменить следующий код, чтобы сделать его правильным?
$posts_sql = "SELECT * FROM posts LEFT JOIN users ON posts.post_by = users.user_id WHERE posts.post_topic = " . mysql_real_escape_string($_GET['id']);
Я надеюсь, что я был достаточно конкретным, пожалуйста, дайте мне знать, если есть все, что нужно знать о таблице или коде.
Вам больше не следует использовать функции mysql _ *(), и ваш код по-прежнему небезопасен. что остановить кого-нибудь из 'example.com/foo.php? id = posts.posts_topic' и получить ВСЕ сообщения в вашем db? Это может быть экранировано, но вы все еще уязвимы для SQL-инъекций. –
Вы храните временную метку? возможно, вы можете заказать их к тому времени. – dgig
Итак, если добавить таблицу времени в таблицу, как ее вставить в строку? – user3165668