嗨,我编写了一个类来从数据库中获取数据,并在视图中我正在创建该类的实例以获取数据。
print_r($emp_data)
在我看来,一切似乎都正常。它以以下格式返回数据,
Array (
[0] => 1
[emp_id] => 1
[1] => Aftab
[first_name] => Aftab
[2] => Kirmani
[last_name] => Kirmani
[3] => Male
[gender] => Male
[4] => 1
[added_by] => 1
)
但是当我使用foreach
循环时,它给了我一条错误消息。
警告:第11行的E:\ xampp \ htdocs \ emp_management \ Views \ view_all_employees.php中的字符串偏移'emp_id'不合法
以下是我编写的代码。
Class Method
public function get_employees(){
$query= "select * from employees";
$query_run= mysqli_query($this->conn, $query);
if(mysqli_num_rows($query_run) > 0){
$data= mysqli_fetch_array($query_run);
return $data;
}
}
View
<?php
include 'header.php';
$employees= new Employees();
$emp_data= $employees->get_employees();
foreach($emp_data as $data){
echo $data['emp_id'];
}
?>
请在这里指导我做错了什么。我认为array
没有以正确的格式返回数据。
谢谢
mysqli_fetch_array
返回单行。您的循环(在您调用了“提取”功能之后)假设您已检索到所有员工。更正您的班级职能,例如:
public function get_employees(){
$query = "select * from employees";
$query_run = mysqli_query($this->conn, $query);
if(mysqli_num_rows($query_run) > 0){
$data = array();
while ($row = mysqli_fetch_array($query_run) {
$data[] = $row; //this puts all your rows in an array
}
return $data;
}
}
您可以View
按原样保留循环。它应该按预期工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句