多次使用foreach

时间:2016-11-11 09:21:23

标签: php mysql foreach

如何多次使用foreach

<?php
    $query =  $db->query('SELECT tbl_stok.id_stok,
        tbl_stok.id_provinsi,
        tbl_stok.id_kabupaten,
        tbl_stok.tanggal,
        tbl_stok.mie_instan,
        tbl_stok.beras,
        tbl_stok.telur
        FROM `tbl_stok` INNER JOIN tbl_wilayah ON tbl_stok.id_provinsi = tbl_wilayah.id_user
    ');
    $query->fetchAll;
?>

我想使用第一个foreach来显示数据表:

<?php foreach($query as $row){
    echo $row['beras'];
}?>

然后我想用第二个foreach作为图表:

<?php foreach($query as $row){
    echo $row['telur'];
}?>

但是,此foreach仅适用一次。

2 个答案:

答案 0 :(得分:1)

仅使用foreach并存储您需要的所有值,如下所示:

<?php 
   $beras_array = array();
   $telur_array = array();
   foreach($query as $row){
      $beras_array[] = $row['beras'];
      $telur_array[] = $row['telur'];
   }

  //you can use `for` explained later instead of two `foreach`
   foreach($beras_array as $b){
      echo $b;
   }
   foreach($telur_array as $t){
      echo $t;
   }

   //With this method you can also use only one for instead of two foreach
   $limit = count($beras_array);
   for($i=0; $i<$limit; $i++){
      echo $beras_array[$i];
      echo $telur_array[$i];
   }
?>

我希望它有所帮助

答案 1 :(得分:1)

你可以这样做:

1)将数据保存到数组中。

foreach($query as $row){
    $data[]= $row;
}

2)在你想要的每个循环中使用你的数组

foreach($data as $row){
    echo $row['beras'];
}

foreach($data as $row){
    echo $row['telur'];
}