Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mysql获取所有好友的帖子_Php_Mysql - Fatal编程技术网

Php 使用mysql获取所有好友的帖子

Php 使用mysql获取所有好友的帖子,php,mysql,Php,Mysql,我目前正在开发一个社交网站 显示登录用户的帖子,包括其朋友的帖子 我已经成功地创建了脚本,通过获取第一名来显示所有帖子 登录用户的所有朋友。然后让他们参加一个会议。那就全吃吧 在_数组()中使用POST 这是我的密码 $LOGIN_USER_ID = 1 // e.g id of login user ( person_tbl pr_id in database) unset( $_SESSION['friends'] ); $_SESSION['friends'] = array(); $

我目前正在开发一个社交网站 显示登录用户的帖子,包括其朋友的帖子 我已经成功地创建了脚本,通过获取第一名来显示所有帖子 登录用户的所有朋友。然后让他们参加一个会议。那就全吃吧 在_数组()中使用POST

这是我的密码

$LOGIN_USER_ID = 1 // e.g id of login user ( person_tbl pr_id in database)

unset( $_SESSION['friends'] );
$_SESSION['friends'] = array();

$frdt = ( get all friends by LOGIN USER ); // from database
foreach( $frdt as $fkey => $fval ) {    // get all friends
    $fr_from = $fval['fr_from_prid'];
    $fr_to = $fval['fr_to_prid'];

    if( $LOGIN_USER_ID != $fr_from ) {
      $_SESSION['friends'][] = $fr_from;
    }
    if( $LOGIN_USER_ID != $fr_to ) {
      $_SESSION['friends'][] = $fr_to;
    }
}

$_SESSION['friends'][] = $LOGIN_USER_ID;  // include login user id in friends session

// e.g display of id of friend ( 2, 3 and 1 ) 1 for  login user.
$friends_of_user = $_SESSION['friends'];  

$post_tbl = get_all_post();
foreach( $post_tbl as $key => $val ) {
   $id = $val['po_id'];

   if( in_array( $po_prid, $friends_of_user ) ) {
       // DISPLAY ALL POST
   }    
}

正如我所说的,我成功地获得了所有职位。然而,我想要的是在加载页面时限制帖子,然后像facebook风格一样,如果页面向下滚动,它将加载其他帖子。简而言之,我只想选择post limit 0,20,然后如果用户向下滚动limit 20,40,然后20,60等等。是否可以只使用sql查询而不执行会话之类的操作来获取帖子?提前谢谢。

你给了我灵感,brah@Galithiel!我自己的问题有答案了

select po_message
from post_tbl
LEFT JOIN friend_tbl
  ON po_prid=fr_from_prid OR po_prid=fr_to_prid
WHERE po_prid={$LOGIN_USER_ID}
  OR fr_from_prid={$LOGIN_USER_ID}
  OR fr_to_prid={$LOGIN_USER_ID}
LIMIT 0 , 10
select po_message
from post_tbl
LEFT JOIN friend_tbl
  ON po_prid=fr_from_prid OR po_prid=fr_to_prid
WHERE po_prid={$LOGIN_USER_ID}
  OR fr_from_prid={$LOGIN_USER_ID}
  OR fr_to_prid={$LOGIN_USER_ID}
LIMIT 0 , 10