gpt4 book ai didi

php - 限制在我的 sql 查询中不起作用

转载 作者:行者123 更新时间:2023-11-29 05:27:20 24 4
gpt4 key购买 nike

我在 php 中创建了一个“您可能认识的人”脚本。这个脚本在 php 好友系统中向我展示了我 friend 的 friend 。我有一个名为 users (user_id, name, surname, email, profile) 的表,其中包含有关用户的信息。另一个名为 friends(friend_id, user_one, user_two) 的表包含好友用户的 ID。我的代码如下:

<?php

//----- get friends of friends -------


$friends_of_friends = mysql_query(" SELECT u.*
FROM (SELECT DISTINCT user_one as user_id
FROM friends
WHERE user_two IN (SELECT user_one as user_id
FROM friends
WHERE user_two = '$session_user_id'
UNION DISTINCT
SELECT user_two
FROM friends
WHERE user_one = '$session_user_id')
UNION DISTINCT
SELECT DISTINCT user_two
FROM friends
WHERE user_one IN (SELECT user_one as user_id
FROM friends
WHERE user_two = '$session_user_id'
UNION DISTINCT
SELECT user_two
FROM friends
WHERE user_one = '$session_user_id')
) f
JOIN users u
ON u.user_id = f.user_id ");


while ($run_friends= mysql_fetch_assoc($friends_of_friends)) {

$friend_friend_id = $run_friends['user_id'];



// ---- friends of my friends that are not my friends --------------


$check_friend_query = mysql_query(" SELECT friends_id from friends WHERE (user_one='$session_user_id' AND user_two='$friend_friend_id') OR (user_one='$friend_friend_id' AND user_two='$session_user_id') ");

if (mysql_num_rows($check_friend_query) != 1){

$not_friends = mysql_query("SELECT `user_id`, `name`, `surname`, `email`, `profile` FROM `users` WHERE (`user_id`='$friend_friend_id' AND `user_id`!='$session_user_id') ");



while ($run_not_friends= mysql_fetch_assoc($not_friends)) {
$i=1;
if ($i <= 3)
{
$not_friend_id = $run_not_friends['user_id'];

echo $not_friend_id;

$i++;
}
}

}//end if

}//end while

?>

一切正常。我只想选择并显示 3 个人,他们是我 friend 的 friend (因为我可能有很多人是我 friend 的 friend )。如您所见,我在我的 sql 查询中使用了 LIMIT,但它不起作用。有什么想法吗?

最佳答案

试试这段代码。将打印 3 个 friend ID。我没试过。

$i=1;
while ($run_friends= mysql_fetch_assoc($friends_of_friends)) {

$friend_friend_id = $run_friends['user_id'];
// ---- friends of my friends that are not my friends --------------

if ($i <= 3)
{
$check_friend_query = mysql_query(" SELECT friends_id from friends WHERE (user_one='$session_user_id' AND user_two='$friend_friend_id') OR (user_one='$friend_friend_id' AND user_two='$session_user_id') ");

if (mysql_num_rows($check_friend_query) != 1){
$not_friends = mysql_query("SELECT `user_id`, `name`, `surname`, `email`, `profile` FROM `users` WHERE (`user_id`='$friend_friend_id' AND `user_id`!='$session_user_id') ");
while ($run_not_friends= mysql_fetch_assoc($not_friends)) {
$not_friend_id = $run_not_friends['user_id'];
echo $not_friend_id;
$i++;
}
}//end if
}
}//end while

关于php - 限制在我的 sql 查询中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18654937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com