我想要做到这一点
但这是意外的结果
只有用户名john 出现了
// Get all the users
$s = $sqlConnection->query('SELECT * FROM accounts');
while ($row = $s->fetch_assoc())
{
$uarr = explode(',', $row['username']);
foreach ($uarr as $ueach)
{
// Get all the direct sales
$query = "SELECT *";
$query .= " FROM accounts ACC";
$query .= " INNER JOIN info INF ON ACC.user_id = INF.iuid";
$query .= " INNER JOIN sales SAL ON ACC.user_id = SAL.suid";
$query .= " WHERE SAL.mentor = '$ueach'";
$s = $sqlConnection->query($query);
if (!$s)
{
die($sqlConnection->error);
}
while ($row = $s->fetch_assoc())
{
echo $ueach . ' -> ' . $row['username'] . '<br/>';
}
}
}这是数据库结构
账号
user_id | username |
--------+----------+
1 | john |
--------+----------+
2 | mark |
--------+----------+
3 | dave |
--------+----------+信息
iuid |
---------+
1 |
---------+
2 |
---------+
3 |
---------+销售量
suid | mentor |
--------+----------+
1 | john |
--------+----------+
2 | mark |
--------+----------+
3 | dave |
--------+----------+发布于 2016-06-08 12:13:17
您可以使用一个查询获取所有数据,而不是使用两个查询。由于连接了所需的数据,所以可以随时获得:
SELECT SAL.mentor AS mentor, ACC.username AS username
FROM accounts ACC
LEFT JOIN info INF ON ACC.user_id = INF.iuid
LEFT JOIN sales SAL ON ACC.user_id = SAL.suid
ORDER BY SAL.mentor当您返回行时,您将可以使用$row['mentor']和$row['username']。
$query = "SELECT SAL.mentor AS mentor, ACC.username AS username ";
$query .= "FROM accounts ACC ";
$query .= "LEFT JOIN info INF ON ACC.user_id = INF.iuid ";
$query .= "LEFT JOIN sales SAL ON ACC.user_id = SAL.suid ";
$query .= "ORDER BY SAL.mentor ";
$s = $sqlConnection->query($query);
if (!$s)
{
die($sqlConnection->error);
}
else
{
while ($row = $s->fetch_assoc())
{
echo $row['mentor'] . ' -> ' . $row['username'] . '<br/>';
}
}发布于 2016-06-08 12:20:54
您正在重新分配覆盖$s的结果集
为内部循环查询选择不同的变量
$second = $sqlConnection->query($query);https://stackoverflow.com/questions/37701974
复制相似问题