通过foreach

时间:2017-06-02 13:43:23

标签: php arrays database foreach

我在Microsoft访问中拥有数据库表,其字段如下: PARTNO,描述,数量

当我正在检索数据并尝试在html表中显示它时显示错误

  

非法字符串偏移' partno'

我的php代码如下:

<?php
 foreach($items as $row){
    $partno=$row['partno'];
    $desc=$row['description'];
    $qty=$row['quantity'];
  ?>
  <tr>
  <td><?=$partno?></td>
  <td><?=$desc?></td>
  <td><?=$qty?></td>
  </tr>

  <?php  
    }
    }
    if(!($items)){
  ?>
  <h3 style="color: red;">Item not found!</h3>
  <?php
    }
  ?>

我尝试通过

查看数据
print_r($items);

数组$ items的数据是:

Array ( 
    [partno] => BRZU 
    [0] => BRZU 
    [description] => CONTROL UNIT 
    [1] => CONTROL UNIT 
    [quantity] => 3 
    [2] => 3 
) 

3 个答案:

答案 0 :(得分:3)

似乎$items实际上只包含一行。 在其上使用foreach循环将导致$row采用值BZRU, BZRU, CONTROL UNIT, 2, 3

我认为您期待像这样的数组,您可以使用foreach循环进行迭代。

答案 1 :(得分:1)

在继续循环之前,首先验证数组<?php use Illuminate\Database\Eloquent\Model; require_once './vendor/autoload.php'; class User extends Model { public $table = "user"; protected $fillable = ['id', 'user_name', 'first_name', 'last_name', 'email']; } ?> 是否为空。

items

答案 2 :(得分:0)

你的逻辑错误。在尝试迭代之前,您需要检查$items是否为空。