Bagaimana Cara Filter data yang sudah di tangkap dengan PHP

Saya ingin membuat tabel per hari selama 1 bulan. saya ada database dengan tabel begini (angap tanggal sampai tgl 30): +-------------------------+ | tanggal |kopi|teh|gula| +-------------------------+ |2018-01-01 | 2 | 1 | 5 | +-------------------------+ |2018-01-02 | 1 | 4 | 8 | +-------------------------+ saya pangil semua berdasarkan tanggal selama 1 bulan

 $data=mysql_query("SELECT * FROM bahan WHERE tanggal BETWEEN '2018-01-01' AND '2018-01-31'");
$dat = mysql_fetch_array($data);

lalu akan saya tampilkan dalam tabel begini +-------------------------+ |Tanggal | 1 | 2 | 3 | 4 |dst.. +-------------------------+ |Kopi |2kg|1kg|5kg| +-------------------------+ |Teh |1kg|4kg|8kg| +-------------------------+ |Gula |1kg|4kg|8kg| +-------------------------+ bagai mana pengkodeanya... saya stuck di situ.

avatar Adinur
@Adinur

63 Kontribusi 8 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

Di taruh di array aja... Kayak gini kira-kira

<pre> &lt;?php $bahan = array(); $jenisBahan = array('Kopi', 'Teh', 'Gula');

while ($d = mysqli_fetch_assoc($data)) { $bahan[$d['tanggal']]['kopi'] = $d['kopi']; $bahan[$d['tanggal']]['teh'] = $d['teh']; $bahan[$d['tanggal']]['gula'] = $d['gula']; }

// Tanggal echo 'Tanggal';

for ($a = 1; $a &lt;= 31; $a++) { echo ' | ' . $a; }

// Bahan-bahan foreach ($jenisBahan as $jenis) { echo '&lt;br&gt;' . $jenis;

for ($a = 1; $a &amp;lt;= 31; $a++) {
	$tgl = &#039;2018-10-&#039; . str_pad($a, 2, &#039;0&#039;, STR_PAD_LEFT);
	$text = isset($bahan[$tgl]) ? $bahan[$tgl][strtolower($jenis)] . &#039; Kg&#039; : &#039; - &#039;;
	
	echo &#039; | &#039; . $text;
}

} ?&gt; </pre>

Tanggalnya disesuaiin aja

avatar SaifulAnwar
@SaifulAnwar

5 Kontribusi 6 Poin

Dipost 6 tahun yang lalu

Mantap mas terimakasih mas akan saya coba. Sai ini saya masih mengunakan while saja, untuk tabelnya saya manual dari while saya output ke value=''

avatar Adinur
@Adinur

63 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban