mySql查询-web文件共享程序
这是我的密码。它应该选择共享特定文件的“收件人”的姓名, 整个过程都需要返回用户名和用户名 这样我就可以在我的朋友列表中添加一个紧挨着的复选框,一旦点击, 将向特定人员共享(保存到DB表中)该特定文件 这是来自一个web应用程序,其中用户彼此共享文件mySql查询-web文件共享程序,mysql,Mysql,这是我的密码。它应该选择共享特定文件的“收件人”的姓名, 整个过程都需要返回用户名和用户名 这样我就可以在我的朋友列表中添加一个紧挨着的复选框,一旦点击, 将向特定人员共享(保存到DB表中)该特定文件 这是来自一个web应用程序,其中用户彼此共享文件 SELECT u_c.to_whom, u.user_name FROM files f LEFT JOIN users_connections u_c
SELECT u_c.to_whom, u.user_name
FROM files f
LEFT JOIN users_connections u_c
ON (u_c.who = :user_id OR u_c.to_whom = :user_id) AND u_c.friends = "Y"
LEFT JOIN users u
ON u.user_id = u_c.to_whom
WHERE f.file_id = 90
在表文件中,我们有
file_id, file_name, file_desc, etc...
user_id, user_name
1 Jack
在表中用户连接
id, who, to_whom, friends
1 1 4 Y
这意味着用户1已经与用户4建立了友谊,“Y”表示友谊是真实的(N=仍在等待中)
在用户中我们有
file_id, file_name, file_desc, etc...
user_id, user_name
1 Jack
由于某种原因,我似乎无法让它工作。
有高级用户能帮我吗
非常感谢 我找到了这个密码的答案。如果你想建立一个共享文件系统,这是一个基本的代码
$query_list_count = "SELECT COUNT(user_id)
FROM users_connections u_c
LEFT JOIN users u
ON u.user_id = u_c.who OR u.user_id = u_c.to_whom
LEFT JOIN files f
ON f.file_id = :file_id
WHERE (u_c.who = :user_id OR u_c.to_whom = :user_id AND friends = :friends)
GROUP BY u.user_id
";
$result_list_count = $db->prepare($query_list_count);
$result_list_count->bindValue(':user_id', $_SESSION['user_id'], PDO::PARAM_INT);
$result_list_count->bindValue(':friends', "Y", PDO::PARAM_STR);
$result_list_count->bindValue(':file_id', $file_id, PDO::PARAM_INT);
$count_ = $result_list_count->fetchColumn();