У меня есть простой запрос, который будет получать все из таблиц пользователей
$query = $this->pdo->prepare('SELECT * FROM `users`');
$query->execute();
return $query->fetchAll();
Тогда у меня будет цикл foreach, как
$results = $User->getUser();
foreach($results as $result){
echo $result['fname'];
echo $result['lname'];
}
Но есть ли способ отобразить каждое из полей без записи имени каждого поля?
Во-первых, исправьте возвращаемый fetchAll, чтобы указать стиль возврата следующим образом:
return $query->fetchAll(PDO::FETCH_ASSOC);
Затем вы можете использовать внутренний цикл с внешним циклом следующим образом:
//get the results
$results = $User->getUser();
//loop over the results, setting $result to an array representing each row
foreach($results as $result){
//loop over each $result (row), setting $key to the column name and $value to the value in the column.
foreach($result as $key=>$value){
//echo the key and value.
echo "{$key} = {$value}<br>";
}
}
Это выведет все столбцы и их значения независимо от того, какие столбцы есть в массиве. Следуя комментариям, вы можете увидеть, что я с помощью вашего кода зацикливаюсь на внешнем массиве, который является массивом каждой строки в запросе. Затем выполните цикл по массиву из каждой строки, получая имя столбца и значение в этом столбце. Пока я просто повторяю колонку и значение. Вы, вероятно, захотите сделать что-то большее, например, отразить это на столе или какова бы ни была ваша конечная цель.
Других решений пока нет …