Как вместо id'шников вывести имена?

Ссылка скопирована
1 ответ

Имеются две таблицы:

Как вместо id'шников вывести имена?

Как вместо 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;

Но по этому запросы выходит следующее:

Как вместо 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...

  • ну я похоже тоже писал, ничего не вышло только что-то...благодарю
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Кирилл JS Ответ

Для того чтобы вместо 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-&gt;close();
?&gt;

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

В данном примере предполагается, что у вас есть две таблицы - table1 и table2, где table1 содержит id'шники, а table2 содержит соответствующие имена. JOIN запрос объединяет эти таблицы по id'шникам, после чего вы можете выводить имена вместо id'шников в вашем выводе данных.

Не забудьте заменить "localhost", "пользователь", "пароль", "база_данных", "table1" и "table2" на реальные значения, соответствующие вашей базе данных и структуре таблиц.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно