- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我目前正在开发一个社交媒体应用程序,其中包括用户(您可以将他们添加为 friend )和帖子(文本、图片等...)
我想在用户进入应用时向用户显示与用户的帖子和用户 friend 的帖子相比的 5 个最新帖子。
我知道这不是实现此目标的最明智方法,但到目前为止我已经做到了。 查询只返回一篇文章,但还有更多,甚至不是最新的也不是最旧的。我认为问题出在“OR”子句中。
我获取了用户的所有好友,并用“OR”子句将 WHERE 子句一一放入。
//CURRENT FRIENDS
$sql = 'SELECT current AS currents FROM friends WHERE sno = :sno';
$query = $this -> conn -> prepare($sql);
$query -> execute(array(':sno' => $usersSno));
$friends = $query -> fetchObject() -> currents;
//SELECT 5 NEWEST POST
$sql = 'SELECT operationId FROM posts WHERE operationId = :operationId';
$array = array(':operationId' => $usersSno);
if(isset($friends)) {
$ids = explode(",", $friends);
for($i = 0; $i < count($ids); $i++) {
$sql = $sql.' OR operationId = :operationId'.$i;
$array[':operationId'.$i] = $ids[$i];
}
}
if($from == null)
$sql = $sql.' ORDER BY operationId DESC LIMIT 5';
else {
$sql = $sql.' AND operationId < :from ORDER BY operationId DESC LIMIT 5';
$array[':from'] = $from;
}
$query = $this -> conn -> prepare($sql);
$query -> execute($array);
$result = $query -> fetchAll(PDO::FETCH_ASSOC);
用户的 sno 是 1,用户有两个 friend ,他们的 sno 分别是 2 和 75。
echo $sql;
SELECT operationId FROM posts WHERE operationId = :operationId OR operationId = :operationId0 OR operationId = :operationId1 ORDER BY operationId DESC LIMIT 5
print_r($array);
Array
(
[:operationId] => 1
[:operationId0] => 2
[:operationId1] => 75
)
最佳答案
我觉得自己在开始赏金后立即意识到自己的错误是愚蠢的。我应该使用 WHERE sno
(因为我一直从用户 ID [sno] 获取帖子)而不是 $sql
WHERE operationId
/p>
所以 echo $sql;
就像:
SELECT operationId FROM posts WHERE sno = :sno OR sno = :sno0 OR sno = :sno1 ORDER BY operationId DESC LIMIT 5
print_r($array)
是:
Array
(
[:sno] => 1
[:sno0] => 2
[:sno1] => 75
)
至少我很乐意解决这个问题,甚至是我自己解决它:)
EDIT: I noticed two logical error too in my sql query.
1- 将日期字符串与帖子的 operationId 进行比较 我将帖子与其日期进行比较(您也可以与帖子的 operationId 进行比较)以查看哪个是最新的。但在代码中,我将 operationId 与 $from
变量(这是一个日期字符串)进行了比较。
最后的代码;
$sql = $sql.') AND createdAt < :from ORDER BY operationId DESC LIMIT 5';
2- OR 子句应与 AND 子句用括号分隔。
括号开始
$sql = 'SELECT operationId FROM posts WHERE (sno= :sno';
括号结束
if($from == null)
$sql = $sql.') ORDER BY operationId DESC LIMIT 5';
else {
$sql = $sql.') AND createdAt < :from ORDER BY operationId DESC LIMIT 5';
$array[':from'] = $from;
}
关于php - 获取新闻提要(社交媒体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50441118/
有没有人将 Socialize (getsocialize.com) 与 PhoneGap 集成?我正在开发一个 PhoneGap 应用程序,所以所有的 UI 都是 HTML5,但我的客户希望我们将
晚安 我试图掌握社交 SSO(Facebook/Google 等)如何在微服务架构中工作的概念。 场景 假设我有 2 个后端微服务(Order、User)和一个前端(WebApp) 用户:包含用户个人
Socialblade如何使用youtube api生成live subscriber count? 每个 channel 每秒更新一次。那会不会轻易超过速率限制? 他们从app store desc
我正在尝试在我的(maven)spring MVC secure(spring security)应用程序中配置springsocial,但是当我尝试访问/connect/或/connect/prov
我有一张 table CREATE TABLE `tbl_users` ( `user_id` int(11) NOT NULL auto_increment, `user_username`
这是当前的样本结构 Posts(Collection) - post1Id : { viewCount : 100, likes : 45,
我正在使用快速入门示例中的 Spring Social 和 Thymeleaf 进行开发,但我意识到每个 Controller 只支持一个 Facebook 对象。这意味着示例无法为多个用户提供支持,
我关注了基本的 Spring Social Facebook,它很有效。但它要求我登录浏览器。 您知道如何使用在 Spring 程序中输入的电子邮件和密码登录吗? 图表: 其他程序(发送电子邮件和密码
我想获取我关注的用户帖子列表。在conrtoller我写: @posts = Post.where(id: current_user.followers(User).map(&:id)); 在 Vie
我试图了解 ProviderSignInController 是做什么的,但我很难理解它。 因此,当我单击使用 facebook 登录时,我会转到 facebook 登录页面,然后在输入我的凭据后调用
我正在使用 Spring Boot starter social Facebook 来通过 Facebook 对用户进行身份验证/授权。 我想添加一些 Permissions ,例如 邮箱 为了检索用
我正在使用 Spring Social 通过 Facebook 或 LinkedIn 获取信息。它工作完美,我得到了我想要的,但我遇到了一个问题:它非常慢。 例如,使用 linkedin 访问我的联系
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我们正在构建一些“sociable”单元测试(大于“单元”但明确不调用外部服务或数据库的测试)。我想知道如果 future 的开发人员编写了一个确实调用的测试,C# 中是否有一种方法可以让测试运行器抛
有什么方法可以使 Follow Us 文本与 sprite 图像内联? http://jsfiddle.net/e2ScF/66/ Follow us:
我是新来的,在互联网上看过很多这个网站和视频,现在我的 CSS fort 有问题,我会打个招呼,看看是否有人可以帮助我。我正在纠正一个网站,并在我的导航栏上有一个滑动条。但是文本 witch is h
对于那些只想切入正题并知道我在问什么的人。我的问题在下面的段落中进行了编号和加粗。 我费了好大劲想弄清楚1.)如何为 Android 社交网络应用程序实现适当的通知系统?到目前为止,我收集到的所有
我使用 spring 安全登录。现在我正在尝试添加 spring social facebook 登录,但是我得到很多错误信息。 首先,当我尝试使用与 spring social guide 相同的方
我在使用 spring-social 获取 id 和 name 以外的参数时遇到问题。 依赖关系: org.springframework.social
我正在启动 ServiceStack 社交引导 API 示例来看看它是如何工作的。 我点击了“登录”链接,但什么也没发生。我查看了代码(参见附件图片1) sign in 在“登录”链接的点击事件中,我
我是一名优秀的程序员,十分优秀!