У меня 2 таблицы. Один назвал пользователей, а другой – телешоу. Таблица пользователей имеет: users_id, displayname, имя пользователя и пароль, у меня есть внешний ключ с именем users_id, а в таблице tv показывает, что у меня есть tv_id, users_id FK, tvshow, seasons. Я хочу иметь возможность отображать отображаемое имя из таблицы пользователей в отношении того, кто его создал, а не отображать идентификатор номера, который ему назначен.
Для получения информации о пользователе используйте следующий SQL-запрос:
SELECT users.username, tv_shows.* FROM tv_shows LEFT JOIN users ON users.users_id = tv_shows.user_id
Затем отобразите информацию о пользователе, используя следующий фрагмент PHP:
echo '<td>'. '<a href="users.php?username='. $row['username']. '">'. $row['username']. '</a></td>';
Поскольку в таблице tv_shows нет столбца с именем «имя пользователя», это явно не работает. Таким образом, вам нужно получить все поля, которые вы хотите использовать, с инструкцией SQL:
SELECT tv_shows.*, users.username FROM tv_shows JOIN users ON users.user_id = tv_shows.user_id
В зависимости от вашей структуры таблицы вы можете использовать LEFT JOIN
вместо этого …
Затем вы можете использовать $row['username']
в вашем PHP-коде, потому что вы выберете его с SQL раньше.
И я думаю, вам нужно будет освежить некоторые учебники по SQL, чтобы узнать о объединениях, группировках и т. Д. Учебник SQL W3C – хороший момент для начала.