简体   繁体   English

PHP:MY​​SQLI-从同一行获取数据

[英]PHP: MYSQLI - Get data from same row

I have taken to this data that are the same but presented only one here 我已经接受了相同的数据,但这里仅介绍了一个

now I want to get text from last row 现在我想从最后一行获取text

$sql_query = $connection->query("SELECT DISTINCT `sent_by`, `sent_to` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1'"); 
if($sql_query->num_rows > 0) {
    while ($fetch_data = $sql_query->fetch_array(MYSQLI_ASSOC)) {
        if($fetch_data["sent_by"] == 1) {
            echo $fetch_data["sent_to"]. " TEXT: ". $fetch_data["text"].  </br>";
        } else {
            echo $fetch_data["sent_by"]. " TEXT: ". $fetch_data["text"].  </br>";
        }
    }
}

Database structure: 数据库结构:

在这里检查图像

Sorry for my bad english 对不起,我的英语不好

UPDATED 更新

If you have field id as auto increment field, then you can get the last row with this SQL query: 如果您将字段id作为自动增量字段,则可以使用此SQL查询获取最后一行:

SELECT DISTINCT `sent_by`, `sent_to`, `id`, `text` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1' ORDER BY `id` DESC LIMIT 1

So change this: 所以改变这个:

$sql_query = $connection->query("SELECT DISTINCT `sent_by`, `sent_to` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1'"); 

on this: 在此:

$sql_query = $connection->query("SELECT DISTINCT `sent_by`, `sent_to`, `id`, `text` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1' ORDER BY `id` DESC LIMIT 1"); 

In this new query you sort all results by the value of id field in descending order. 在此新查询中,您将按id字段的值对所有结果进行降序排序。

If you will remove DISTINCT from your query, you can remove also id from SELECT list in your query. 如果要从查询中删除DISTINCT ,也可以从查询的SELECT列表中删除id

删除DISTINCT,并仅创建查询

$sql_query = $connection->query("SELECT sent_by, sent_to FROM chat WHERE sent_by = '1' OR `sent_to` = '1'"); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM