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