2016-11-11 5 views
0

Как использовать 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 работ только один раз.

+0

Вы можете сделать работу скрипта быстрее, используя только один 'for' вместо двух' foreach'. Дополнительную информацию см. В обновленном ответе. – Learner

ответ

1

Вы можете сделать это:

1) сохранить ваши данные массив.

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

2) использовать массив в каждом цикле вы хотите, как много раз, когда вы хотите

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

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

Используйте Еогеасп только один раз и хранить все необходимые значения, как это:

<?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]; 
    } 
?> 

Я надеюсь, что это помогает

Смежные вопросы