Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển ID người dùng thành tên (các bảng riêng biệt) trong PHP

Vì vậy, những gì bạn cần là một cặp JOIN s (ngầm định là INNER JOIN ) chống lại người dùng users , một người tham gia vào người theo dõi và một người tham gia vào người theo dõi.

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

Trong vòng lặp của bạn, các tên có sẵn trong 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nếu bảng tồn tại, hãy thả bảng thì hãy tạo nó, nếu nó không tồn tại chỉ cần tạo nó

  2. Làm cách nào để thay đổi nhiều bảng cùng một lúc trong mysql?

  3. Cách kết hợp hai truy vấn cập nhật có điều kiện khác nhau ở đâu

  4. Entity Framework tạo một tên bảng số nhiều, nhưng khung nhìn mong đợi một tên bảng số ít?

  5. MySQL Tìm tổng số bài đăng trên mỗi người dùng