cara menampilkan 2 data array dalam satu table html

bismillah, permisi para mastah sekolah koding...

jadi kasus nya ane punya 2 data array, data nya tuh kaya gini...


$array1 = [indikator 1, indikator 2];
$array2 = [materi 1, materi 2, materi 3];

data array tersebut mau ane tampilkan di satu table html, jadi nanti bentuknya tuh kaya gini..


//contoh table html yang dimaksud
no | indikator hasil belajar | materi pembelajaran

1     indikator 1               materi 1

2     indikator 2               materi 2

3                               materi 3

tetapi data array tersebut ane dapet dari session form sebelumnya bukan dari database. nah ane udah coba ngulik pake for loop yang ane buat kaya gini..


for ($i=0; $i < count($indikator); $i++) {
        for ($j=0; $j < count($materi); $j++) {
          echo $indikator[$i].' '.$materi[$i].'<br>';
        }
      }

hasil loop nya malah kaya gini...


indikator 1 materi 1
indikator 1 materi 1
indikator 1 materi 1
indikator 2 materi 2
indikator 2 materi 2
indikator 2 materi 2

terima kasih sebelumnya..

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Diperbarui 5 tahun yang lalu

7 Jawaban:

Kenapa harus pakai 2 for? Bukannya satu aja sudah cukup ya?

$indikator = ['indikator 1', 'indikator 2'];
$materi = ['materi 1', 'materi 2', 'materi 3'];

for ($i=0; $i < count($materi); $i++)
{
 echo $indikator[$i].' '.$materi[$i].'<br>';
}

Dan yang banyak dipakai patokan #cmiiw

Tinggl di rapiin aja

avatar FauzanEdris
@FauzanEdris

1 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

 $indikator = ['indikator 1', 'indikator 2'];
$materi = ['materi 1', 'materi 2', 'materi 3'];

echo '<table>
       <tr>
         <td>no</td>
         <td>indikator hasil belajar</td>
         <td>materi pembelajaran</td>
       </tr>';

for ($i=0; $i < count($materi); $i++)
{
  echo '<tr>
         <td> '.($i+1).' </td>
         <td>'. $indikator[$i].'</td>
         <td> '.$materi[$i].'</td>
        </tr>';
}
echo '</table>';

semoga membantu

avatar uzzielpelawak
@uzzielpelawak

72 Kontribusi 21 Poin

Dipost 5 tahun yang lalu

gabisa dengan satu for gan, hasil nya jadi error kaya gini..

 Undefined offset: 2

apa mungkin harus di ubah jadi array associative dulu kali ya...

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Dipost 5 tahun yang lalu

itu kode diatas, udah bisa kok gan.. ane udah coba sebelum posting,

avatar uzzielpelawak
@uzzielpelawak

72 Kontribusi 21 Poin

Dipost 5 tahun yang lalu

udah ane coba juga gan hasil kaya yang ane sebutin di atas ga..

makasih sebelumnya gan..

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Dipost 5 tahun yang lalu

mungkin coba pake assosiative array aja gan..

avatar satriamagnum
@satriamagnum

1 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

makasih gan udah mau ngebantu...

ane udah dapet solusinya gan...

jadi ane buat validasi if else di form sebelumnya, scriptnya kaya gini..


$indikator = ['indikator 1', 'indikator 2'];
$materi = ['materi 1', 'materi 2', 'materi 3'];

//solusi yang paling aman saat ini ane dapet kaya gini gan..
if(count($indikator) == count($materi)){
 for ($i=0; $i < count($materi); $i++)
 {
  echo $indikator[$i].' '.$materi[$i].'<br>';
 }
}else{
 dd(' Jumlah Indikator Harus Sama Dengan Jumlah Materi :) ');
}

kalo ane ga kasih validasi di form sebelumnya akan dapet error kaya gini..


Undefined offset: 2
//error ini kayanya peringatan yang muncul ketika meminta nilai dari posisi array yang belum ada isinya. mudah-mudahan ga salah jelasinnya hehe

sekali lagi makasih buat agan - agan yang udah mau ngebantu...

kalo ada cara lain yang lebih efektif silahkan di share gan solusinya ...

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban