Php 从mysql中的两列中同时提取数据
基本上,我有一个由两列组成的表,Php 从mysql中的两列中同时提取数据,php,mysql,Php,Mysql,基本上,我有一个由两列组成的表,message\u id,message\u id\u reply我需要什么: 提取与外部php变量相等的id 从上面的行中提取每个id(如果它存在于message\u id\u reply列中) 这是我的桌子: +------------+------------------+ | message_id | message_id_reply | +------------+------------------+ | 75 |
message\u id
,message\u id\u reply
我需要什么:
message\u id\u reply
列中)+------------+------------------+
| message_id | message_id_reply |
+------------+------------------+
| 75 | 70 |
| 76 | 75 |
| 77 | 76 |
| 78 | 77 |
| 80 | 79 |
| 81 | 80 |
| 82 | 81 |
| 83 | 74 |
| 84 | 79 |
| 85 | 70 |
| 86 | 84 |
| 88 | 73 |
| 89 | 88 |
+------------+------------------+
例1:如果我发送消息_id=78
我需要获取78,77,76,75,70
例2:如果我发送消息_id=86
我需要获取86,84,79
例3:如果我发送消息\u id=90
我需要获取90,78,77,76,75,70
以下是您的查询:
$query = "SELECT * FROM `your_table` WHERE `message_id` <= '$id'";
$query=“从`your_table`WHERE`message_id`中选择*如果你通过32,那么它应该需要32、31、30?你需要一个递归查询,对吗?”?mysql本机不支持它,但使用php它可能是递归查询,我只需要检查message_id是否等于下一行的message_id_回复,这样就可以从一开始就获得所有对话。我建议更改您的数据结构,并将每条消息关联到一个对话\u id
,以便您可以更快地查询它们。请对answertrue中的SQL注入漏洞进行向下投票抱歉,但假设他从何处获取id,他没有指定从何处获取id。无论如何,抱歉,是的,但是如果我有:+------------------------------------------------+----留言| id |留言| id |回复|+-------------------+----75 | 70 | 76 | 77 | 78 | 77 | 80 | 79 | 81 | 80 |+------------+------------------+我想选择message_id=81,我需要得到答案81,80,79。因为78,77,76,75,70来自另一棵树。@Serghei-请编辑您的问题以包含此有价值的澄清