Php循环下一个mysql查询中的所有结果

Php循环下一个mysql查询中的所有结果,php,mysql,Php,Mysql,我有个小问题。我使用两个mysql查询来获取数据。 首先,我想从组中获取ID $sqlGoups = "SELECT * from `groups` WHERE `Date`='$TodayDate' "; $result = $conn->query($sqlGoups); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $IDgroups = $row["ID"

我有个小问题。我使用两个mysql查询来获取数据。 首先,我想从组中获取ID

$sqlGoups = "SELECT * from `groups` WHERE `Date`='$TodayDate' ";
$result = $conn->query($sqlGoups);
if ($result->num_rows > 0) {
      while($row = $result->fetch_assoc()) {
    $IDgroups = $row["ID"]; 
这样,我就可以得到这些ID,例如5,7,12,15,22

我想把它们都放在下一个mysql查询中:

 $sqlNext = "SELECT * FROM `orders` WHERE ID = '$IDgroups' ORDER BY `ID` ASC ";
$result = $conn->query($sqlNext);
当我这样做时,我只得到第一个ID(5)的结果。我想要每一个

我无法内部联接表,因为我在下一个查询中使用了它

我尝试了foreach循环,但没有效果。

试试这段代码

SELECT * FROM `orders` 
WHERE ID  REGEXP CONCAT('(^|,)(', REPLACE('$IDgroups', ',', '|'), ')(,|$)') 
ORDER BY `ID` ASC 
试试这个代码

SELECT * FROM `orders` 
WHERE ID  REGEXP CONCAT('(^|,)(', REPLACE('$IDgroups', ',', '|'), ')(,|$)') 
ORDER BY `ID` ASC 

正如@Elanochecer所评论的,最好的选择应该是JOIN语句,但是如果您希望遍历您的路径,您可以使用IN并将ID作为逗号分隔的字符串提供,您的查询应该类似于下面的查询:

。。。
$sqlNext=“从订单中选择*,其中ID位于($IDgroups')ORDER BY ID ASC”;
…

另外,确认$IDgroups的格式是否为1,2,3,4


如果您提供模式,我可以为您提供一个可行的JOIN语句,最好您可以使用该模式创建一个repo,就像@Elanochecer评论的那样,最好的选择应该是JOIN语句,但是如果您希望完成这一过程,您可以使用IN并将ID作为逗号分隔的字符串提供,您的查询应类似于以下查询:

。。。
$sqlNext=“从订单中选择*,其中ID位于($IDgroups')ORDER BY ID ASC”;
…

另外,确认$IDgroups的格式是否为1,2,3,4


如果您提供模式,我可以为您提供一个可行的JOIN语句,最好您可以使用该模式创建一个repo

为什么您不能直接加入并选择订单字段?如下所示:选择orders.*FROM orders JOIN groups on(orders.ID=groups.ID),其中groups.Date='$TodayDate'ORDER BY orders.ID ASCI我想加入3个表-订单、组和产品,这很复杂为什么这么复杂?运行多个查询对性能的影响要比一次创建一个查询对性能的影响大得多。为什么不能直接加入并选择订单字段?如下所示:选择orders.*FROM orders JOIN groups on(orders.ID=groups.ID),其中groups.Date='$TodayDate'ORDER BY orders.ID ASCI我想加入3个表-订单、组和产品,这很复杂为什么这么复杂?运行多个查询的性能影响要比手工制作一个单一查询onceMy代码的效果好得多,但仅对于第一个ID,它们仍然像没有从while循环中退出日志一样,以确认循环中是否存在有问题的第一个ID?我的代码很好,但仅适用于第一个ID,它们仍然像没有从while循环中获取日志一样存在,以确认循环中是否存在第一个有问题的ID?请解释为什么应该这样做-我从未见过针对如此简单需求的如此复杂的查询请解释为什么应该这样做-我从未见过针对如此简单需求的如此复杂的查询