0

私は2つのテーブルを持っています。1 つはユーザーと呼ばれ、もう 1 つはテレビ番組と呼ばれます。users テーブルには、users_id、displayname、username、password があります。users_id という外部キーがあり、テレビ番組テーブルには、tv_id、users_id FK、tvshow、seasons があります。割り当てられた番号IDを表示するのではなく、誰が作成したかについて、ユーザーテーブルから表示名を表示できるようにしたいと考えています。

4

2 に答える 2

2

次の 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>';
于 2012-12-02T12:18:09.163 に答える
0

tv_shows テーブルには「username」という名前の列がないため、明らかに機能しません。そのため、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 チュートリアルを復習する必要があると思います。W3C のSQL チュートリアルは、開始するのに適したポイントです。

于 2012-12-02T12:23:55.983 に答える