Как вместо id'шников вывести имена?
Имеются две таблицы:
Надо вывести их в таком порядке: req_id, req_text, recipient, sender. Последние два столбца надо заменить id'шники на имена юзеров из таблицы. Пытался написать запрос сам, но что-то не выходит, вот что-то почти рабочее:
select req_id, req_text, name as recipient, name as sender from request as R join users as U on R.recipient_id = U.id; |
select req_id, req_text, name as recipient, name as sender from request as R join users as U on R.recipient_id = U.id;
Но по этому запросы выходит следующее:
Помогите исправить, спасибо.
Дополнительно:
select req_id, req_text, recipient.name as recipient_name, sender.name as sender_name from request join users as recipient on request.recipient_id = recipient.id join users as sender on request.sender_id = sender.id; |
select req_id, req_text, recipient.name as recipient_name, sender.name as sender_name from request join users as recipient on request.recipient_id = recipient.id join users as sender on request.sender_id = sender.id;
https://sqlize.online/sql/mysql80/a0ffdc9f91ded9ee...
- ну я похоже тоже писал, ничего не вышло только что-то...благодарю
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос



Для того чтобы вместо id'шников выводить имена, вам необходимо использовать JOIN запросы в базе данных, чтобы объединить таблицы, содержащие имена и id'шники. После этого вы сможете выводить имена вместо id'шников в ваших запросах.
Пример запроса на PHP с использованием JOIN:
connect_error) { die("Ошибка подключения: " . $mysqli->connect_error); } // Запрос на выборку данных с использованием JOIN $sql = "SELECT t1.id, t2.name FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id"; $result = $mysqli->query($sql); // Проверка наличия результатов if ($result->num_rows > 0) { // Вывод данных while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " - Имя: " . $row["name"]. "<br>"; } } else { echo "Нет результатов"; } $mysqli->close(); ?>
В данном примере предполагается, что у вас есть две таблицы - table1 и table2, где table1 содержит id'шники, а table2 содержит соответствующие имена. JOIN запрос объединяет эти таблицы по id'шникам, после чего вы можете выводить имена вместо id'шников в вашем выводе данных.
Не забудьте заменить "localhost", "пользователь", "пароль", "база_данных", "table1" и "table2" на реальные значения, соответствующие вашей базе данных и структуре таблиц.