javascript - 如何让我在 mysqli 上关注的人?
问题描述
因此,我有一个名为 和 列的表格,follow_sys
我想显示我关注的人,但不要将我作为待处理的朋友请求返回我尝试自我加入,但它没有用id
follower
following
$sqlFollowing = "SELECT * from follows_syds t1, follows_syds t2
where
t1.follower = ?
and
t1.following != ?
and
t2.follower != ?
AND
t2.following != ?";
$Following = $conn -> prepare($sqlFollowing);
$Following -> bind_param('ssss',$metUser,$metUser,$metUser,$metUser);
$Following -> execute();
$FollowingGET = $Following -> get_result();
$FollowingRows = $FollowingGET -> num_rows;
我尝试过这样的事情,但结果仍然不准确
$sqlFollowing = "SELECT * from follows_syds t1
INNER join follows_syds t2 on
t1.follower = t2.following
where
t2.follower = ?
and
t1.following = ?
group by t2.id";
$Following = $conn -> prepare($sqlFollowing);
$Following -> bind_param('ss',$getUser,$getUser);
$Following -> execute();
$FollowingGET = $Following -> get_result();
$FollowingRows = $FollowingGET -> num_rows;
while($b = $FollowingGET -> fetch_assoc()){
$ve = $b['following'];
}
$sqlowing = "SELECT * from follows_syds t1
INNER join follows_syds t2 on
t1.follower = t1.follower
where
t2.follower = ?
and
t2.following != ?
AND
t1.follower != ?
and
t1.following != ?
group by t2.id";
$owing = $conn -> prepare($sqlowing);
$owing -> bind_param('ssss',$getUser,$ve,$ve,$getUser);
$owing -> execute();
$owingGET = $owing -> get_result();
$owingRows = $owingGET -> num_rows;
while($a = $owingGET -> fetch_assoc()){
print_r($a );
echo "</br>";
}
解决方案
您必须创建一个名称为follower_following
CREATE TABLE `follower_following` (
`id` int(11) NOT NULL,
`follower_id` int(11) NOT NULL,
`following_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `follower_following`
ADD PRIMARY KEY (`id`);
ALTER TABLE `follower_following`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
作为关注者的用户的 ID 必须保存follower_id
在此表的列中。并且该用户的 id 必须保存following_id
在此表的列中。如果您想获得 id = 1 的任何用户的关注者,则必须运行此查询。
function get_username($id){
$sql = "SELECT * FROM user where id = $id";
$result = $conn->query($sql);
foreace($result as $row){
return $row['username'];
}
}
$sql = "SELECT * FROM follower_following where following_id = 1";
$result = $conn->query($sql);
foreace($result2 as $row2){
echo get_username($row2['follower_id']);
}
推荐阅读
- react-native - 使用 React Native 检测从应用程序设置/背景返回
- c - Watcom 编译器中的长文件名支持
- ios - iOS 项目无法识别对 Firebase SDK 的 Database.database().reference() 调用,错误为“未解析的标识符数据库”
- javascript - 无法删除由 Webpack 创建的供应商目录
- c++ - 为不同的容器定义一个函数
- php - 从表中查询并从另一个表列中获取值
- r - SF中的溶解线
- python-3.x - 使用来自 TextChoices 模型的 html 代码显示笑脸
- vb.net - 您可以使用不同的大小写符号从 HttpContext.Current.Request.Url.AbsoluteUri 和 HttpContext.Current.Request.RawUrl 克服 vb.net 吗?
- compilation - 为什么在 Fortran 运行时未解析 present()?