sql >> データベース >  >> RDS >> Mysql

PHPでユーザーIDを名前(個別のテーブル)に変換する

    したがって、必要なのはJOINのペアです。 s(暗黙的にINNER JOINusersに対して 、1つはフォロワーに参加し、もう1つはフォローに参加します。

    SELECT 
      /* Rather than SELECT * you need to be specific about the columns, and
         give them aliases like followed_name since you have 2 tables with the same
         column names in the query */
      ufollower.id AS follower_id,
      ufollower.username AS follower_name,
      ufollowed.id AS followed_id,
      ufollowed.username AS followed_name
    FROM
      /* JOIN twice against users, once to get the follower and once to get the followed */
      user_follow 
      /* users aliased as ufollower to get the follower details */
      JOIN users ufollower ON ufollower.id = user_follow.follower
      /* users aliased as ufollowed to get the followed details */
      JOIN users ufollowed ON ufollowed.id = user_follow.followed
    WHERE
      user_follow.follower = $p_id
    

    ループでは、名前はfollower_name, followed_nameで使用できます。 。

    while($apple = mysql_fetch_array($following)){
       // Be sure to wrap the name in htmlspecialchars() to encode characters that could break html.
       // This has the followed id in the href and the followed name in the link text...
       echo '<a href="'.$apple['followed_id'].'">+'.htmlspecialchars($apple['followed_name']) .'</a> ';
    }
    


    1. Fedora20でのMySQLリレーショナルデータベースの使用

    2. MariaDB DATABASE()の説明

    3. SQLServerドライバーを使用してPDO経由でSQLServerに接続する

    4. mysqlは停止していますが、subsysはロックされています