Я делаю цикл while в php, и все идет хорошо, но проблема в том, что Я не только хочу получить идентификатор пользователя, но и некоторые другие материалы, которые находится внутри другой таблицы, поэтому, когда я иду вперед и делаю запрос внутри этого цикла while и выбираю все из этой второй таблицы (где идентификатор равен идентификатору результата из первого запроса), он возвращает только 1 результат. .запрос внутри while цикл только показывает 1 результат
Так что это код, который я в настоящее время есть:
public function getFriends($id)
{
global $params;
$get = $this->db->select("{$this->DB['data']['friends']['tbl']}", "*",
array(
"{$this->DB['data']['friends']['one']}" => $id
)
);
if($get)
{
while($key = $get->fetch())
{
$query = $this->db->query("SELECT * FROM {$this->DB['data']['users']['tbl']}
WHERE {$this->DB['data']['users']['id']} = :id",
array(
"id" => $key->{$this->DB['data']['friends']['two']}
)
);
while($row = $query->fetch())
{
$params["user_friends"][] = [
"id" => $key->{$this->DB['data']['friends']['two']},
"name" => $row->{$this->DB['data']['users']['username']},
"look" => $row->{$this->DB['data']['users']['figure']}
];
}
}
}
else
{
$params["update_error"] = $params["lang_no_friends"];
}
}
Спасибо заранее! Пожалуйста, помогите мне!
Можете ли вы сделать fetchAll() с тем, что вы используете во внешнем запросе, чтобы увидеть, восстанавливает ли все записи перед фронтом проблему ... иногда внутренний запрос (по тому же соединению) будет отменять предыдущий запрос, если предыдущий запрос является строчным, а не выбранным одновременно. –
Нет, я не могу сделать fetchAll(), любые другие советы? – DC20
Если речь идет о типе запросов, о которых говорил Кевин, это фактор, вы можете перебирать первый набор результатов, сохраняя его значения локально; а затем итерации по локальному массиву. – Uueerdo