首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php查询函数重复数据

php查询函数重复数据
EN

Stack Overflow用户
提问于 2018-08-15 21:08:03
回答 1查看 49关注 0票数 0

我正在尝试使用php和mysql制作一个facebook风格的聊天页面。但是我的查询结果有问题。聊天台看起来是这样的。

我编写了这个函数,用于获取用户日志中的消息。

代码语言:javascript
运行
AI代码解释
复制
/*Get Messges*/
public function Get_Messages($toid,$logedInUserID){
   // Here is loged in user id the id is 2
   $logedInUserID = mysqli_real_escape_string($this->db,$logedInUserID);
   // Loged in user id talked with $toid before the id is 3
   $toid = mysqli_real_escape_string($this->db,$toid);
   $logedInUserID = '2';  
   $toid = '3';

   $query = mysqli_query($this->db,"SELECT DISTINCT C.msg_id,C.from_user_id, C.to_user_id, C.message_created_time, C.message_text, U.user_name, U.user_fullname FROM users U, chat C WHERE C.from_user_id='$logedInUserID' AND C.to_user_id = '$toid' ORDER BY C.msg_id ASC LIMIT 20") or die(mysqli_error($this->db));
   while($row=mysqli_fetch_array($query,MYSQLI_ASSOC)) {
        // Store the result into array
        $data[]=$row;
     }
     if(!empty($data)) {
        // Store the result into array
        return $data;
     }
}

以及获得结果的前环

代码语言:javascript
运行
AI代码解释
复制
<?php 
    $GetAllMessages = $Get->Get_Messages($toUserID,$uid);
     if($GetAllMessages){
         echo '<span class="all_messages">';
      foreach($GetAllMessages as $getMessage){
         $getTexts = $getMessage['message_text']; 
         $getToUID = $getMessage['to_user_id']; 
         $from_to_class= 'you';
         if($getToUID == $uid){
             $from_to_class = 'friend';
         } 
         echo '<div class="messageBox_body"><div class="'.$from_to_class.'">'.$getTexts.'</div></div>';
       }
         echo '</span>';
      } 
?>

所以问题是我的查询重复了消息,比如下面的屏幕截图,也就是没有显示在用户消息中的查询。

为了更好地描述:

代码语言:javascript
运行
AI代码解释
复制
$logedInUserID = '2';
$toid = '3';

显示带有重复的$toid = '3';消息的查询,而不显示来自数据的$logedInUserID = '2';

我的查询中有什么问题:

代码语言:javascript
运行
AI代码解释
复制
SELECT DISTINCT C.msg_id,C.from_user_id, C.to_user_id, C.message_created_time, 
C.message_text, U.user_name, U.user_fullname FROM users U, chat C WHERE 
C.from_user_id='$logedInUserID' AND C.to_user_id = '$toid' 
ORDER BY C.msg_id ASC LIMIT 20

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 21:47:50

在给定的查询中,您似乎试图从两个表用户Chat获取详细信息,但是您还没有编写连接条件。

请使用$logedInUserID = '2';$toid =‘3’来尝试这个SQL查询;

代码语言:javascript
运行
AI代码解释
复制
SELECT DISTINCT C.msg_id, 
                C.from_user_id, 
                C.to_user_id, 
                C.message_created_time, 
                C.message_text, 
                U.user_name, 
                U.user_fullname 
FROM   users U 
       JOIN chat C 
         ON U.id = C.from_user_id 
WHERE  C.from_user_id = '$logedInUserID' 
       AND C.to_user_id = '$toid' 
ORDER  BY C.msg_id ASC 
LIMIT  20 

如果您想要与两个用户进行完整的聊天,只需在$logedInUserID = '3';$toid = '2‘的Sql查询中使用"OR“条件即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51869948

复制
相关文章
Oracle数据库查询重复数据及删除重复数据方法
工作中,发现Oracle数据库表中有许多重复的数据,而这个时候老板需要统计表中有多少条数据时(不包含重复数据),只想说一句MMP,库中好几十万数据,肿么办,无奈只能自己在网上找语句,最终成功解救,下面是我一个实验,很好理解。 
星哥玩云
2022/08/17
5.5K0
Oracle数据库查询重复数据及删除重复数据方法
Access重复项查询
大家好上节介绍了汇总查询,继续介绍选择查询中的重复项查询和不匹配项查询,这两种查询都可以在查询向导中创建,本节主要介绍重复项查询。
无言之月
2020/06/02
1.9K0
Access重复项查询
Excel: 通过Countif函数识别重复的数据
文章背景:在数据处理时,有时候需要判断某个数据是否重复出现;在录入数据时,有时需要避免数据的重复输入。此时,可以借助Excel的countif函数进行功能的实现。
Exploring
2022/09/20
1.5K0
Excel: 通过Countif函数识别重复的数据
[MongoDB] 使用PHP根据_id字段查询数据
mongo中的_id是一个objectid对象类型,不管是查询时作为条件,还是列表时展示内容,都需要进行一下抓换
唯一Chat
2020/03/19
3.5K0
PHP之查询数据库表
该方法只能用于mysqli连接数据库 mysqli连接数据库 <?php $servername = "localhost"; $username = "1_2qky_cn"; $password
用户2590762
2021/08/11
1.9K0
sql查询一张表的重复数据
近日由于同事操作失误,在添加数据的时候,添加了重复数据.. 遂需要sql查出是哪条数据,以下万能的模板命令
执笔记忆的空白
2020/12/25
2.1K0
php数据库常用函数
//打开mysql mysql_connect( $host, $user, $pwd ) or die(‘error’); $host => localhost //数据库地址 $user => root //用户名 $pwd => root //用户密码
全栈程序员站长
2022/07/08
8950
PHP分页查询
public function getAdminOpLogListByPager(AdminOpLogListContext $context, $sys) { $op = Db::table('admin_op_log') ->where('sys', $sys); if ($context->admin_id_arr != [-1]) { $op = $op->whereIn('admin_id', $c
OwenZhang
2021/12/08
4.1K0
mysql如何去重复查询
查询出不重复数据有多少条 SELECT distinct phone time FROM 数据.new_table; select phone,time from 数据.new_table group by phone; Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 解决方法:将CSV文件放到mysql的安全目录up
2021/11/08
4.4K0
php防止用户重复登录
先来理解一下session的几个设置: ini_set('session.auto_start',0); 设置关闭session的自动启动 ini_set('session.cookie_lifetime',0); 设置session在浏览器关闭时失效,session默认情况下是这样子的,无需在设置 ini_set('session.gc_maxlifetime',3600); 设置session在浏览器未关闭时的持续存活时间 大概知道上面的几个设置,那么我们开始理解下今天的内容啦。每当一个用户登
benny
2018/03/06
3.9K0
php防止用户重复登录
MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据
  最近在做一个批量数据导入到MySQL数据库的功能,从批量导入就可以知道,这样的数据在插入数据库之前是不会进行重复判断的,因此只有在全部数据导入进去以后在执行一条语句进行删除,保证数据唯一性。
追逐时光者
2019/08/28
3.7K0
MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据
PHP判断数组是否有重复值、获取重复值
二、获取重复的值(一维数组的值完全相等是重复;如果是二维数组,二维数组中的值必须完全相同才是重复)
友儿
2022/09/11
4K0
查询函数|lookup函数家族
今天跟大家分享的是查询函数——lookup函数家族! 查询函数是excel函数中使用频繁程度与求和函数不相上下的功能。 excel中关于查询功能的函数主要有以下几组: lookup函数组: lookup vlookup hlookup index+match函数 今天我们只介绍第一组lookup函数: lookup函数: 当您需要查询一行或一列并查找另一行或列中的相同位置的值时,会使用其中一个查找和引用函数 LOOKUP。 LOOKUP(lookup_value, lookup_vector, [resu
数据小磨坊
2018/04/10
2K0
查询函数|lookup函数家族
php查询数据库是否存在某字段
创建一个数据库wx_test 在数据库新建test表然后插入num、title、url三个字段 源码: <?php /* 创建一个数据库wx_test 在数据库新建test表然后插入num、t
吾爱乐享
2018/07/12
2.2K0
php实现 提取不重复的整数(编程题目能够最快的熟悉函数)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101599.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/29
3560
SQL查询重复记录方法大全
SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC
javascript.shop
2019/09/04
5.5K0
PHP数据库的查询和更新(一)
在PHP中,您可以使用SELECT语句来查询数据库。以下是一个MySQLi查询示例:
堕落飞鸟
2023/04/27
1.5K0
PHP函数
请点击上面蓝色PHP关注 你知道这些简单的函数中的方法吗? count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。 语法 count(array,mode) 参数描述array必需。规定要计数的数组 或对象。mode可选。规定函数的模式。 可能的值: 0 - 默认。不检测多维 数组(数组中的数组)。
wangxl
2018/03/07
2.6K0
PHP函数
可变函数类似于可变变量,通过在变量名后面添加一对括号,PHP就会自动寻找与变量名的值相同的函数,并且执行该函数
白胡杨同学
2020/04/10
2.5K0
点击加载更多

相似问题

重复php函数

14

如何通过重复查询数据库在PHP中生成函数

13

数据重复php

112

PHP函数不会重复

10

查询后的PHP重复

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档