[英]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.