Pada kesempatan ini kita akan membahas cara menampilkan data mysql ke tabel HTML dengan PHP dan form HTML.
Pada tutorial sebelumnya kita telah membahas bagaimana cara menangkap data yang dikirim oleh form HTML, sekarang kita akan menggunakan data tersebut untuk mengambil data mysql kemudian menampilkannya ke dalam tabel HTML.
Untuk hasil jadinya, sobat dapat langsung klik tombol demo berikut ini.
Untuk versi offline, telah kami sediakan file php, css, javascript, sql serta petunjuk penggunaannya. Untuk mendownloadnya, silakan klik tombol salah satu social media berikut ini:
I. Form HTML
Untuk lebih memahami cara mengelola elemen input pada form dengan PHP, kali ini kita akan menggunakan beberapa elemen input, yaitu elemen input, select, dan checkbox.
Bentuk form yang akan kita gunakan tampak seperti gambar berikut:
Code HTML dan PHP yang kita gunakan:
<form action="" method="post">
<div class="row">
<label>Nama Barang</label>
<div class="col-wrap">
<input type="text" name="nama_barang" placeholder="Semua..." value="<?=@$_POST['nama_barang'] ?: ''?>"/>
<p class="desc">Kosongkan isian untuk menampilkan semua data</p>
</div>
</div>
<div class="row">
<label>Urutkan</label>
<div class="col-wrap">
<select name="order_by">
<?php $options = array('total' => 'Total Bayar', 'tgl_trx' => 'Tanggal Transaksi');
foreach ($options as $key => $val) {
$selected = @$_POST['order_by'] == $key ? ' selected="selected"' : '';
echo '<option value="' . $key . '"' . $selected . '>' . $val . '</option>';
}?>
</select>
<select name="sort">
<option value="DESC" <?= @$_POST['sort'] == 'DESC' ? 'selected="selected"' : ''?>>DESC</option>
<option value="ASC" <?= @$_POST['sort'] == 'ASC' ? 'selected="selected"' : ''?>>ASC</option>
</select>
</div>
</div>
<div class="row">
<label>Periode</label>
<div class="col-wrap">
<select name="bln_awal">
<?php
foreach ($month_options as $key => $val) {
$selected = @$_POST['bln_awal'] == $key ? ' selected="selected"' : '';
echo '<option value="' . $key . '"' . $selected . '>' . $val . '</option>';
}?>
</select> s.d.
<select name="bln_akhir">
<?php
$selected = '';
foreach ($month_options as $key => $val) {
if (isset($_POST['submit'])) {
$selected = @$_POST['bln_akhir'] == $key ? ' selected="selected"' : '';
} else {
$selected = $key == date('n') ? ' selected="selected"' : '';
}
echo '<option value="' . $key . '"' . $selected . '>' . $val . '</option>';
}?>
?>
</select>
</div>
</div>
<div class="row">
<label>Tahun</label>
<div class="col-wrap options">
<?php
foreach ($year_options as $key => $val) {
if (isset($_POST['submit'])) {
$checked = isset($_POST[$key]) ? ' checked="checked"' : '';
} else {
$checked = $key == 2017 ? ' checked="checked"' : '';
}
echo '<label class="checkbox">
<input type="checkbox" name="' . $val . '"' . $checked . '>' . $val .
'</label>';
}
?>
</div>
</div>
<div class="row">
<input class="offset button" type="submit" name="submit" value="Submit"/>
</div>
</form>
Pada kode diatas, untuk membuat elemen select, kita banyak menggunakan array dan loop.
Ketika elemen select memiliki cukup banyak opsi ( <option ... >
), penggunaan array dan loop akan mempermudah kita menambah atau mengurangi opsi yang ada. Selain itu juga mempermudah kita untuk memberi nilai default pada opsi.
Nilai Default
Isian pada form otomatis akan terisi nilai tertentu baik ketika form ditampilkan pertama kali, maupun ketika form disubmit:
- Input nama barang. Ketika form dibuka maka isian nama barang akan kosong, ketika disubmit, maka akan memiliki nilai sesuai yang diinput user, kode yang kita gunakan:
value="<?=@$_POST['nama_barang'] ?: ''?>"
Pada contoh diatas, kita menggunakan ternary operator:
@$_POST['nama_barang'] ?: ''
, ternary tersebut merupakan kependekan dari:@$_POST['nama_barang'] ? $_POST['nama_barang'] : ''
Kita tambahkan tanda
@
didepan$_POST
untuk menghindari pesan warning yang muncul saat pertama kali form ditampilkan karena variabel$_POST
belum terdefinisi. - Pilihan Periode. Ketika form ditampilkan, maka pilihan bulan awal akan otomatis terpilih Januari, sedangkan untuk bulan akhir, akan terpilih bulan sekarang, misal: karena saat ini bulan April, maka periode yang terpilih adalah Januari s.d April.
Jika form disubmit, maka periode akan otomatis terpilih sesuai dengan yang dipilih user
foreach ($month_options as $key => $val) { if (isset($_POST['submit'])) { $selected = @$_POST['bln_akhir'] == $key ? ' selected="selected"' : ''; } else { $selected = $key == date('n') ? ' selected="selected"' : ''; } echo '<option value="' . $key . '"' . $selected . '>' . $val . '</option>'; }
- Untuk pilihan tahun, ketika form pertama kali ditampilkan, yang terpilih adalah tahun 2017, sedangkan jika disubmit, maka akan tercentang tahun yang dipilih.
if (isset($_POST['submit'])) { $checked = isset($_POST[$key]) ? ' checked="checked"' : ''; } else { $checked = $key == 2017 ? ' checked="checked"' : ''; }
Untuk opsi urutkan, cara kerjanya sama seperti elemen select pada bulan awal
II. Data Tabel MySQL
Pada tutorial kali ini, kita akan menampilkan tabel hasil penggabungan 2 (dua) tabel mysql yaitu tabel penjualan dan tabel barang, keduanya memiliki struktur dan hubungan sebagai berikut:
Pada gambar diatas, tabel penjualan memiliki kolom id_barang
yang merupakan foreign key dari kolom id_pelanggan
yang ada pada tabel pelanggan.
Contoh isi tabel penjualan:
+--------------+--------------+-----------+------------+----------+--------------+--------+--------+
| id_transaksi | id_pelanggan | id_barang | tgl_trx | jml_item | harga_satuan | diskon | total |
+--------------+--------------+-----------+------------+----------+--------------+--------+--------+
| 1 | 4 | 302 | 2017-01-05 | 1 | 80000 | 0.00 | 80000 |
| 2 | 7 | 301 | 2017-03-03 | 3 | 35000 | 0.05 | 99750 |
| 3 | 2 | 303 | 2017-03-10 | 5 | 80000 | 0.10 | 360000 |
| 4 | 8 | 104 | 2017-02-03 | 2 | 250000 | 0.05 | 475000 |
| 5 | 6 | 303 | 2017-01-11 | 4 | 80000 | 0.10 | 288000 |
+--------------+--------------+-----------+------------+----------+--------------+--------+--------+
Contoh isi tabel barang:
+----+-----------+-------------+-------------+---------+------+
| id | id_barang | id_kategori | nama_barang | harga | stok |
+----+-----------+-------------+-------------+---------+------+
| 1 | 101 | 1 | RAM | 230000 | 4 |
| 2 | 102 | 1 | Mainboard | 1250000 | 7 |
| 3 | 103 | 1 | Pocessor | 1150000 | 6 |
| 4 | 301 | 3 | Mousepad | 35000 | 3 |
| 5 | 302 | 3 | Keyboard | 80000 | 5 |
+----+-----------+-------------+-------------+---------+------+
III. Script PHP Untuk Pesan Error dan Warning
Selanjutnya kita buat script PHP untuk menguji data yang disubmit oleh user dan menampilkan hasil query ke bentuk tabel HTML.
Agar pesan error berada diatas form, maka script PHP untuk menguji data yang disubmit kita letakkan diatas form. Script PHP yang kita gunakan:
$hasil_query = false;
$error = $warning = array();
if (isset($_POST['submit']))
{
// CEK APAKAH ADA TAHUN YANG DICETANG
$form_error = '';
$year_checked = false;
foreach ($year_options as $year) {
if (key_exists($year, $_POST)) {
$year_checked = true;
break;
}
}
if (!$year_checked) {
$error[] = 'Tahun harus dipilih';
}
// JIKA FORM ERROR
if (!$error) {
require_once('config.php');
// KONEKSI
$conn = @mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if (!$conn) {
$error[] = 'MySQL ERROR : ' . mysqli_connect_error($conn);
} else {
// WHERE
// Nama Barang
$where = trim($_POST['nama_barang']) ? 'nama_barang LIKE "%'.$_POST['nama_barang'].'%"' : '';
// Tahun
$periode = '( ';
foreach ($year_options as $year) {
if (key_exists($year, $_POST)) {
$bln_awal = substr('0' . $_POST['bln_awal'], -2);
$bln_akhir = substr('0' . $_POST['bln_akhir'], -2);
$periode .= '( tgl_trx > "' . $year . '-' . $bln_awal . '-00"
AND tgl_trx < "' . $year . '-' . $bln_akhir . '-99" ) OR';
}
}
$where .= ' AND ' . rtrim($periode, ' OR') . ') ';
$where = ltrim ($where, ' AND ');
// QUERY
$sql = 'SELECT *
FROM penjualan
LEFT JOIN barang USING(id_barang)
WHERE ' . $where . '
ORDER BY ' . $_POST['order_by'] . ' ' . $_POST['sort'];
$result = mysqli_query ($conn, $sql);
// RESULT
if (!$result) {
$error[] = mysqli_error($conn) . '<br/><strong>SQL Query</strong>: ' . $sql;
} else {
$num_rows = mysqli_num_rows($result);
if (!$num_rows) {
$warning[] = 'Data tidak ditemukan';
} else {
$hasil_query = true;
}
}
} //
}
}
Penjelasan:
- Dengan fungsi isset (
isset($_POST['submit']
) kita cek apakah form telah disubmit. - Semua pesan error kita simpan pada variabel
$error
, sedangkan untuk warning kita simpan pada variabel$warning
- Selanjutnya, dengan loop
foreach ($year_options as $year) {...}
kita cek apakah ada tahun yang dicentang, jika tidak ada, maka tambahkan pesan error ke dalam variabel$error
if (!$year_checked) { $error[] = 'Tahun harus dipilih'; }
- Jika form tidak error, kita sertakan file config.php. File ini berisi konfigurasi server database. Selanjutnya dengan fungsi
mysqli_connect()
kita hubungkan PHP dengan MySQL. Jika koneksi gagal, tambahkan pesan error$error[] = mysqli_error($conn) . '<br/><strong>SQL Query</strong>: ' . $sql;
- Selanjutnya jalankan query, jika query gagal, tambahkan pesan error, jika berhasil, namun baris yang dihasilkan 0, tambahkan pesan warning ke variabel
$warning
$num_rows = mysqli_num_rows($result); if (!$num_rows) { $warning[] = 'Data tidak ditemukan'; } else { $hasil_query = true; }
Jika terdapat pesan error dan warning, kita cetak pesan tersebut di atas form:
if ($error) {
echo '<div class="danger">Error: ' . join($error, ', ') . '</div>';
}
if ($warning) {
echo '<div class="warning">' . join($warning, ', ') . '</div>';
}
Selanjutnya kita buat script PHP untuk menampilkan data MySQL kedalam tabel HTML. Karena hasil query berada di bawah form, maka kita letakkan script dibagian bawah form.
IV. Script PHP Untuk Menyusun Query SQL
Bagian utama dari keseluruhan script diatas adalah menyusun query SQL untuk menampilkan data. Karena isian bersifat dinamis, terutama bagian tahun, maka kita perlu menggunakan beberapa ekspresi logika.
Script PHP untuk menyusun sql berada bersamaan dengan script validasi (bagian III), karena script tersebut sekaligus untuk menguji apakah data ditemukan.
1 Script PHP Untuk Menyusun Klausa WHERE
Pertama tama yang kita susun adalah kondisi pada klausa WHERE
karena pada bagian inilah sebagian besar inputan user akan diterapkan. Kondisi pada klausa WHERE
kita simpan pada variabel $where
Script untuk menyusun klausa WHERE (sudah termasuk dalam script validasi (Bagian III)):
// WHERE
// Nama Barang
$where = trim($_POST['nama_barang']) ? 'nama_barang LIKE "%'.$_POST['nama_barang'].'%"' : '';
// Tahun
$periode = '( ';
foreach ($year_options as $year) {
if (key_exists($year, $_POST)) {
$bln_awal = substr('0' . $_POST['bln_awal'], -2);
$bln_akhir = substr('0' . $_POST['bln_akhir'], -2);
$periode .= '( tgl_trx > "' . $year . '-' . $bln_awal . '-00"
AND tgl_trx < "' . $year . '-' . $bln_akhir . '-99" ) OR';
}
}
$where .= ' AND ' . rtrim($periode, ' OR') . ') ';
$where = ltrim ($where, ' AND ');
Klausa WHERE ini terkait dengan input dari user, mari kita bahas satu per satu:
- Input Nama Barang. Jika bagian input nama barang kosong, maka kita ambil semua data sehingga variable
$where
kosong, jika tidak, maka kita tambahkan kondisinama_barang LIKE "%'.$_POST['nama_barang'].'%"'
$where = trim($_POST['nama_barang']) ? 'nama_barang LIKE "%'.$_POST['nama_barang'].'%"' : '';
Misal jika diisikan VGA, maka variabel
$where
menjadi $where = ‘nama_barang LIKE "%VGA%"'
- Input Urutkan. Untuk pilihan urutkan akan langsung digabungkan dengan query utama.
- Input Periode dan Tahun. Kedua pilihan ini merupakan satu kesatuan, karena sifatnya dinamis, maka dengan fungsi
key_exists($year, $_POST)
kita cek apakah ada index tahun pada variabel$_POST
, misal$_POST[2017]
, jika ya, maka kita simpan kondisi pada variabel$periode
:$periode .= '( tgl_trx > "' . $year . '-' . $bln_awal . '-00" AND tgl_trx < "' . $year . '-' . $bln_akhir . '-99" ) OR';
Jika semua tahun dicentang, maka variabel
$periode
akan berisi:( (tgl_trx > "2017-01-00" AND tgl_trx < "2017-04-99" ) OR ( tgl_trx > "2016-01-00" AND tgl_trx < "2016-04-99" ) OR( tgl_trx > "2015-01-00" AND tgl_trx < "2015-04-99" ) ) OR
Selanjutnya, kita tambahkan kondisi diatas ke variabel
$where
, namun sebelumnya kita perlu untuk menghilangkan klausaOR
yang ada dipaling belakang, selain itu, untuk menggabungkan dengan kondisi pada input nama barang, kita tambahkan klausaAND
di awal kondisi:$where .= ' AND ' . rtrim($periode, ' OR') . ') ';
Misal, jika input nama barang diisi VGA, maka variabel
$where
akan berisi:WHERE nama_barang LIKE "%VGA%" AND ( (tgl_trx > "2017-01-00" AND tgl_trx < "2017-04-99" ) OR( tgl_trx > "2016-01-00" AND tgl_trx < "2016-04-99" ) OR( tgl_trx > "2015-01-00" AND tgl_trx < "2015-04-99" ) )
Selanjutnya, jika nama barang kosong, kita perlu menghilangkan klausa
AND
yang ada di depan kondisi, jika tidak, query akan error, karena klausa yang tersbentukWHERE AND
WHERE AND ((tgl_trx > "2017-01-00" AND tgl_trx < "2017-04-99" ) ...
Untuk menghilangkan klausa AND, kita gunakan fungsi
ltrim
sebagai berikut:$where = ltrim ($where, ' AND ');
Jika tidak ada klausa
AND
didepan (input nama barang diisi), maka script diatas tidak berpengaruh apa-apa.
2 Script PHP Untuk Menyusun SQL
Setelah kita susun klausa WHERE
, selanjutnya kita buat query utama mulai dari statemen SELECT
, script PHP yang kita gunakan adalah sebagai berikut (sudah termasuk dalam script validasi (Bagian III)):
$sql = 'SELECT *
FROM penjualan
LEFT JOIN barang USING(id_barang)
WHERE ' . $where . '
ORDER BY ' . $_POST['order_by'] . ' ' . $_POST['sort'];
Jika input nama barang diisi VGA dan semua tahun di centang, maka keseluruhan perintah SQL menjadi berikut:
$sql = 'SELECT *
FROM penjualan
LEFT JOIN barang USING(id_barang)
WHERE nama_barang LIKE "%VGA%"
AND (
( tgl_trx > "2017-01-00" AND tgl_trx < "2017-04-99" )
OR ( tgl_trx > "2016-01-00" AND tgl_trx < "2016-04-99" )
OR ( tgl_trx > "2015-01-00" AND tgl_trx < "2015-04-99" )
)
ORDER BY total DESC';
V. Script PHP Untuk Menampilkan Hasil Query ke Tabel HTML
Data hasil query kita tampilkan dibagian bawah form. Karena hasil query terpisah dari pesan error dan warning, kita gunakan variabel $hasil_query
untuk menguji apakah query berhasil dieksekusi dan data yang dihasilkan > 0.
Nilai variabel $hasil_query
ditentukan pada bagian validasi (Bagian III). Jika variabel tersebut bernilai true
, kita tampilkan tabel hasil query. Script yang kita gunakan:
if (isset($_POST['submit'])) {
if ($hasil_query)
{
echo '<div class="success">Ditemukan <strong>' . $num_rows . '</strong> data</div>';
$thead = '
<tr>
<th>No</th>
<th>Nama Barang</th>
<th>Tgl Transaksi</th>
<th>Jumlah Item</th>
<th>Harga Satuan</th>
<th>Diskon</th>
<th>Total</th>
</tr>';
echo '
<div class="table-responsive">
<table>
<thead>' . $thead . '</thead>
<tbody>';
$no = 1;
while($row = mysqli_fetch_array($result)) {
echo '<tr>
<td>' . $no . '</td>
<td>' . $row['nama_barang'] . '</td>
<td>' . $row['tgl_trx'] . '</td>
<td class="right">' . $row['jml_item'] . '</td>
<td class="right">' . number_format($row['harga_satuan'], 0, ',', '.') . '</td>
<td class="right">' . $row['diskon'] . '</td>
<td class="right">' . number_format($row['total'], 0, ',', '.') . '</td>
</tr>
';
$no++;
}
echo '<tfoot>' . $thead . '</tfoot></tbody>
</table>
</div>';
}
}
Pada script diatas, kita gunakan fungsi mysqli_fetch_array
untuk mengambil setiap baris hasil query. Kita juga menggunakan fungsi number_format
untuk memberi tanda pemisah pada ribuan, yang pada contoh kali ini kita gunakan tanda titik
<td class="right">' . number_format($row['harga_satuan'], 0, ',', '.') . '</td>
Demikian pembahasan mengenai cara menampilkan tabel MySQL kedalam tabel HTML menggunakan PHP dan Form HTML. Artikel terkait PHP dan form HTML:
- Tutorial PHP Form I: Menghubungkan Form HTML dengan PHP
- Tutorial PHP Form II: Menampilkan Hasil Input Form HTML dengan PHP
Subscibe Now
Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com
139 Feedback dari pembaca
Mantap pak, ini dia tutorial yang saya tunggu-tunggu…hehehe
Mau tanya:
Di tutorial ini, untuk menampilkan per 1 data barang hanya tersedia untuk kategori nama barang,
bagaimana jika kita ingin menampilkan data berdasarkan kata kunci kategori lain,
misalkan berdasarkan kategori diskon.
apakah bisa ditambahkan 1 field dropdown untuk pilihan kategori, lalu setelah itu input kata kunci
Terima kasih
Bisa mas, tinggal ditambahkan di form, kemudian tambahkan nilai form tersebut di SQL query nya, misal: ‘SELECT … FROM … WHERE … AND kategori = “‘ . $_POST[‘kategori’] . ‘”‘;
mas ini beberapa pertanyaan saya
1.kapan kita diharuskan make foreach,pentingkah,fungsinya buat apa ?
2.$form_error = ‘ ‘; $error[ ]; kenapa kedua variabel tersebut di kosongin ?
1. Untuk membuat form, foreach sifatnya opsional mas, untuk mempercepat dan mempermudah saja, karena ketika form di submit, halaman akan direfresh, sehingga secara default form akan kosong, untuk memberi kenyamanan pengguna, form tersebut harus terisi data yang diinnput user sebelumnya. hal ini akan SANGAT repot jika form dibuat manual (saya sudah mengalaminya, jadi saya sampaikan solusinya), coba dicari tutorial PHP FORM I.
2. $form_error dikosongkan hanya sekedar untuk menginisiasi nilai variabel mas, untuk menghindari pesan warning, karena ketika kondisi tidak terpenuhi, variabel tersebut tidak terdefinisi. Demikian juga dengan variabel $error
mau tanya mas…
Bgm cara mengatur atau menentukan letak atau posisi kotak isian atau inputan. misal posisi kotak inputan Nama Barang, Urutkan atau Periode itu saya mau agak rapat ke kiri mendekati title Nama Barang, Urutkan atau periode.
apakah menggunakan class row ?
mohon penjelasan class row kl memang bener
Terima kasih
“Web ini akan sangat Bermanfaat bagi banyak orang”
Terima Kasih mas…
Maksudnya bagaimana ya mas?
Untuk menentukan letak (layout) edit kode HTML nya mas, sama CSS nya
Contoh kode HTML nya:
Untuk menggeser inputan, tambahkan class di col-wrap
waaoow cepat sekali responnya…
jawabanya sesuai harapan tp kl boleh minta tolong lg.. boleh dibantu kasih contoh edit class di col-wrapnya di css nya..
btw mas lokasinya dimana? saya mau les privat.. saya di jak-bar
kl boleh minta infonya(bisa les tdk, no hp, dan lokasi les privat) kirim via email ke browskaskus@yahoo.com
Trims..
Coba diedit file css yang ada di file download mas.
Maaf saat ini saya di Kudus mas, belum bisa membantu untuk kursus nya
mas bagaimana cara membuat tabel dengan rowspan dinamis saat menampilkan data dari beberapa tabel database???
Terlebih dahulu hasilnya disimpan ke bentuk array mas, nanti rowspannya menggunakan jumlah banyaknya array (menggunakan fungsi max)
Coba pelajari jawaban saya disini mas: http://jagowebdev.com/menghitung-fieldkolom-pada-tabel-mysql-dengan-kondisi-tertentu-menggunakan-count-if/#comment-3579
saya sudah coba mas,, tapi setelah saya tambah data lagi didatabase , data yang saya tambahkan malah muncul di data pertama, contohnya saya tambahkan jadwal di hari selasa, tapi jadwalnya malah muncul di hari senin…
kira – kira itu gimana ya..????
Ini script saya mas…
mohon bantuanya mas…
Tabel output yang diinginkan seperti apa mas?
Sudah dicoba :
http://jagowebdev.com/menghitung-fieldkolom-pada-tabel-mysql-dengan-kondisi-tertentu-menggunakan-count-if/#comment-3579
Script nya kok beda?
mas mau nanya,,,
kalau saya ingin menampilkan dulu dari data berdasarkan periode yang dipilih terus saya mau mencetak, query atau script phpnya gimana ya ?
Masih belum paham saya mas, bisa di contohkan bentuk tabel nya? sama maksudnya mencetak apa ya mas?
Waaaaa thank youuu mas agus. Akhirnya bisa juga menampilkan tabel dari my sql setelah mengikuti tutorial ini.
Oh ya mas mau nginfoin dan tanya :
1. itu downloadnya sudah saya like pakaifb kok ga jalan ya, g+nya juga muncul you must set client id, jadi saya musti ctrl U dulu untuk download
2. Nama Barang saya ada yang panjangnya 4 – 5 kata.
Biar tabelnya ga panjang gmn ya mas, saya atur pakai di index.php ukuran panjang tabel tetap mengikuti panjang nama barang yang tampil.
supaya nama barang yang panjang jadi 2 baris gmn ya mas.
3. bisa kah mas seperti excel yang ada freeze panenya, jadi headernya tetap muncul di yang paling atas. Terus nama barang juga muncul terus di paling kiri pas kita geser ke kanan (saya sudah hilangin fitur responive pada tabelnya).
4. Itu kalau sqlnya diupload sekalian malah keren kayak free source code 😀
Makasih mas agus, maaf banyak tanya
Terima Kasih mas, senang bisa membantu…
1. Saya belum cek lagi mas, coba direfresh halamannya mas
2. Maksudnya agar ada word wrap mas? seperti ini:
jadi
Jika ya, maka itu pengaturan di CSS nya mas, coba gunakan property word-wrap:break-word;
3. Itu harus menggunakan javascript mas, bisa membuat sendiri (mudah mudahan bisa sempat menulis artikelnya) atau bisa menggunakan library datatables
4. Itu SQL nya ada di file downloadnya mas 🙂
Makasih mas agus
2. Itu css nya dicopy ke mana ya mas? akhirnya saya pakai ini mas
‘ . wordwrap($row[‘NAMA_BARANG’], 20, “\n”). ‘
Tapi kalau hasilnya di copi ke excel jadinya 2 baris mas, ke merge cell gitu sama baris bawahnya
kalau mau bikin export to excel dari hasil pencarian form gmn ya mas? ada tutorial yang bagus kah, saya googling beberapa hari ga nemu i mas
maaf banyak nanya ma, beneran baru
Css nya bisa ditulis di bagian head HTML mas, atau di buat di file css tersendiri, bisa coba di googling mas.
Kalau pakai “\n” itu untuk membuat baris baru mas, seperti dienter, sehingga muncul baris baru
coba pakai
mas wordwrap($row[‘NAMA_BARANG’], 20, “
\n”);
Tapi paling pas mwnggunakan css mas, kita bisa set width dari kolom trsebut.
Untuk ekspor ke excel, query sql hasil pencarian langsung di tulis ke file excel mas, untuk expor banyak file bisa menggunakan XLSXWriter mas https://github.com/mk-j/PHP_XLSXWriter, ringan dan cepat atau jika ingin memberi format baris exccelnya bisa menggunakan PHP Excel https://github.com/PHPOffice/PHPExcel
Ngga apa apa mas 🙂 kalau bisa saya jawab saya jawab 🙂
thank you mas akhirnya saya berhasil pakai PHPexcel mas, mas itu header tabelnya muncul di paling bawah hasil mas. biar ga muncul gmn ya mas
Maksudnya tabel HTML mas? kalau tabel HTML coba hilangkan tfoot nya mas…
Selamat pagi Mas,
Saya mau nanya, menampilkan data dari hail query dengan PHP isinya terpotong untuk data yg mengandung tanda spasi. Jadi yang tampil hanya yg di depan spasi saja.
Contoh :
Company / Individual Name
:
Misal : nama perusahaan di database : “PT. ABC “… yang tampil hanya “PT.”
Bagaimana mengatasinya Mas/
Terima kasih.
Santo
Maksudnya yang tampil hanya “PT.” itu pas melakukaan loop atau apa mas? coba query dijalankan di PHPMyAdmin apakah juga terpotong? di php, coba gunakan mysqli_fetch_all()
Mas, Kalau ingin mengambil misalnya waktu awal input data pada nama barang yang sama?
no nama barang waktu entry
1 sabun 07.30
2. sabun 07.35
mau tampilkan hanya data waktu awal maupun waktu akhir
Bisa menggunakan fungsi MIN dan MAX yang ada di SQL mas
coba dibaca artikel ini beserta comment yang ada: Menghitung Field (Kolom) Pada Tabel MySQL Dengan Kondisi Tertentu Menggunakan COUNT IF
gan…link downloadnya kok g ad y, padahal sdh like fb dan share G+
Maaf mas, coba di refresh halamannya. Link download sudah saya kirim ke alamat email….
mas link downloadnya ga ada, sudah like facebook,,
Maaf, coba di refresh mas
Assalamualaikum pak… terimakasih atas tutorialnya sangat mudah dipahami 🙂
pak saya ijin bertanya, saya mengalami beberapa error dan sebagaian sudah terselesaikan. tapi ada satu error yang belum yaitu :
“Data tidak ditemukan”
padahal saya sudah mengikuti persis seperti tutorial bapak ini pak sintaks query nya :
//QUERY
$sql = ‘SELECT *
FROM penjualan
LEFT JOIN barang USING(id_barang)
WHERE ‘ . $where . ‘
ORDER BY ‘ . $_POST[‘order_by’] . ‘ ‘ . $_POST[‘sort’];
$result = mysqli_query($conn, $sql);
//RESULT
if (!$result) {
$error[] = mysqli_error($conn).’SQL Query: ‘. $sql;
} else {
$num_rows = mysqli_num_rows($result);
if (!$num_rows) {
$warning[] = ‘Data tidak ditemukan’;
} else {
$hasil_query = true;
}
}
mohon bantuan nya pak terimakasih.
Coba di echo $sql nya mas, selanjutnya dijalankan di phpmyadmin. Coba di teliti penyebab data tidak ditemukan apa
ini pak $sql nya :
SELECT * FROM penjualan LEFT JOIN barang USING(id_barang) WHERE ((tgl_trx > “2017-01-00” AND tgl_trx “2016-01-00” AND tgl_trx “2015-01-00” AND tgl_trx “‘ . $year . ‘-‘ . $bln_awal . ‘-00”
AND tgl_trx < "' . $year . '-' . $bln_akhir . '-99" ) OR';
Iya mas, silakan di echo terus dijalankan di phpmyadmin:
echo $sql, terus dilihat hasilnya, kemudian di jalankan di phpmyadmin
Sudah pak
hasil nya seperti ini mas :
Warning: #1292 Incorrect datetime value: ‘2017-07-99’
Warning: #1292 Incorrect datetime value: ‘2016-07-99’
Warning: #1292 Incorrect datetime value: ‘2015-07-99’
Berarti tinggal dibuat format datetime nya mas ‘2017-07-99’ jadi ‘2017-07-99 00:00:00’ setelah itu coba di running di phpmyadmin kemudian di aplikasi di sesuaikan, jika masih ada error berarti coding aplikasinya yang error
sudah pak tetep error, ketika saya coba menggunakan script dari hasil download juga error yang diperoleh sama pak :
SELECT * FROM penjualan LEFT JOIN barang USING(id_barang) WHERE nama_barang LIKE “%VGA%” AND ( ( tgl_trx > “2017-01-00” AND tgl_trx “2016-01-00” AND tgl_trx < "2016-08-99" )) ORDER BY total DESC
Warning: #1292 Incorrect datetime value: '2017-08-99'
Warning: #1292 Incorrect datetime value: '2016-08-99'
*dp dan config juga hasil download
Itu cuman warning mas, bukan error, Warning: #1292 Incorrect datetime value: ‘2017-08-99’. Itu untuk mudahnya tanggal nya saya buat 99, untuk menghilangkan warning, coba diganti tanggal maksimalnya 31, misal 2017-08-31 dan 2016-08-31
Kok link donwloadnya ngga muncul ya?
padahal udah di bagikan di fb sama G+ sama udah direfresh berkali kali?
Mohon maaf, sudah saya kirim email mas link nya…
link downloadnya mana ya mas
Maaf, sudah saya kirim email mas…
Pak, sudah like di facebook tapi kok tidak muncul link downloadnya ya?
Mohon maaf mas, sudah saya email link downloadnya…
link download tidak bisa mas
Maaf sudah saya email link nya mas…
mohon maaf Pak, boleh minta link downloadnya, karna udah di refress berkali-kali tidak muncul juga, terima kasih..
Maaf, sudah saya kirim email mas, link nya…
boleh minta link download nya pak, sudah saya like tidak muncul muncul, terima kasih
Maaf sudah saya email link nya mas…
Permisi pak mohon izin bertanya.
Saya belajar membuat CRUD untuk perintah edit, nah data kan sudah ada di data base, ketika saya klik tombol edit untuk value yang ada di belakang spasi itu tidak muncul, misal kolom nama , Nama : Alan Walker, nah ketika saya mau rubah data, yang muncul di kolom nya itu hanya Alan, sedangkan Walker nya tidak ikut muncul.
Mohon Bantuannya Terimakasih
Itu mungkin kurang tanda kutip di nama mas
Maaf mas. saya ingin mendownload file fullnya, tapi ga bisa walau udah like. mohon kirim ke email aja mas.
Maaf mas, sudah saya kirim via email….
link download tidak bisa
Maaf mas, link download sudah saya kirim email…
maaf mas, bisa minta link download nya?
Sudah dikirim mbak
maaf mas link downloadnya tidak bisa
Maaf, sudah saya kirim mbak
makasih mas… sudah saya coba tapi data tidak ditemukan terus. padahal sql nya sudah saya import ke database
Coba tahunnya diperhatikan mbak
Maaf pak, saya sudah mencoba source code yang sudah diberikan di web ini namun ketika disearch, kok malah keluar tulisan “data tidak ditemukan” ya? Saya sudah import database di localhost juga, jadi seharusnya bisa. Terima kasih.
Coba tahunnya diganti mas…
Siang mas apa boleh minta email nya mas? Ada yg mau saya tanyakan. Terima kasih
Alamat email saya ada di halaman kontak mas
maaf pak, link download nya tidak muncul, pdhl saya sudah coba gabung ke facebook
Sudah saya kirim email mas…
maaf newbie pak,
saya mau tanya semisal saya ganti periode dimana menampilkan table harga antara 10,000 – 80,000, dan 80,000 – 100,000 dst. “harga > harga_awal dan harga < harga akhir" apa yang harus saya ubah? mohon pencerahan.
sama cekbox pada tahun menjadi selected seperti pada kolom periode bulan gimana ya pak?
Yang perlu diubah bisa dibagian dropdown nya mas
Kemudian dibagian querynya harga > harga_awal dan harga < harga akhir Untuk checkbox bisa di buat default checked atau checked sesuai data yang disubmit dengan dicek pada data yang disubmit
Maaf pak, link downloadnya tidak tampil
Terima Kasih
Sudah saya email mas
Link downloadnya minta ya mas. ke syinata@gmail.com. thanks
Siap mas…
maaf mas,minta link downloadnya
Sudah dikirim ya mas…
mas agar data tahun lallu tidak tampil bagaimana ?
misa saya pilih bulan januari tahun 2020
data yg ada di database tahu 2019
agar ketika memilih tahun 2020 data yg tahun 2019 tidak tampil bagaimana.
kasus saya ketika memilih tahun 202 data yg tahun akan tampil, inputnya berdasarkan id
Bisa di filter di tanggalnya mas, misal WHERE tanggal >= “2020-01-01”
mas boleh minta link downloadnya ya..tks
Sudah saya kirim ya mas, maaf agak lama…
link downloadnya gak muncul
Maaf, sudah saya email mas…
link downloadnya gak muncul
Maaf, sudah saya kirim email ya mas
boleh minta link downloadnya mas?
Sudah saya kirim ya mas…
boleh minta link downloadnya mas?
Makasih
Sudah saya kirim ya mas…
kak saya boleh minta link download nya ?
Sudah saya kirim ya mas, maaf agak lama
email yang bisa di hubingi mas ,,, boleh ???
Ada di halaman kontak mas
tidak bisa di download ya mas?
Tidak bisa nya kenapa mas?
tombol sosmed nya tidak bisa di klik mas
Dicoba lagi mas…
bisa minta link downloadnya pak?
Sudah saya kirim mas…
Pak Agus, bagaimana jika code2 teresebut ditaruh di framework codeigniter? Kode apa yang harus ditaruh di model, controller dan view yg harus diubah suaikan. Sangat berterimakasih jika berkenan kirim code nya ke email parnotoedy@gmail.com
Tinggal disesuaikan mas, intinya bagian model yang terkait dengan pengambilan data dari database….
Maaf pak agus boleh minta link downloadnya..
Untuk dipelajari lebih lanjut…
Sudah saya kirim ya mas…
mas,, kirim link download nya yaa makasih mas untuk pembelajaran lebih lanjut
Bang bisa kirim link download nya, untuk saya coba lebih lanjut tutorial nya
Sudah saya kirim mas…
Bisa minta link downloadnya pak ..
Sudah saya kirim ya mas…
Terima kasih banyak pak
Sama sama mas…
Mas gak bisa didownload. Minta ya mas.. Terima kasih
Sudah dikirim mas, bisa di cek emailnya
mohon maaf mas, link downloadnya gabisa di buka.. boleh minta link downloadnya mas ??
Sudah saya email mas, link file nya…
boleh minta link downloadnya, mas ?
Sudah saya email mas link file nya…
maaf mas, kanapa pas saya submit “data tidak ditemukan” ya ? padahal ga ada error..
mohon bantuannya mas, soalnya saya baru belajar..
Coba tshun nya di ubah ubah mas
Kak apa Boleh minta link downloadnya Kak ?
Sudah saya email mas…
apa boleh minta link downloadnya? ,untuk belajar lebih lanjut
Sudah saya kirim mas
Maaf Pak boleh link downloadnya….
Sudah kirim ya mas
boleh minta link download nya ?
Sudah saya email mas…
boleh minta link download nya mas agus
Sudah kami kirim mas, terima kasih…
Bisa mnta link downloadnya ??
Sudah saya email mas, terima kasih…
minta link downloadnya bokeh mas?
Sudah saya email mas, terima kasih…
Mohon maaf mas, boleh minta link downloadnya?
terimakasih banyak….
Sent mas…
maaf pak, bisa minta file downloadnya pak
Sudah dikirim ke email mas, terima kasih
ini tutorial yang paling ku cari2 mas.. boleh minta link download nya ?
Bisa di klik tombol like diartikel tersebut mas, nanti link nya akan muncul
siang mas, saya ijin bertanya cara mengetahui foreach ($year_options as $year) itu dari mana? apa kita ngasal saja?
Terimakasih sebelumnya
$year_options itu data tahunnya mas:
Assalamualaikum
mas mohon ijin tanya mas,nek minta tolong membuat program apakah bisa?,lokasi saya dekat dengan njenegan soalnya
Waalaykumsalam
Coba bisa di email dulu mas detailnya seperti apa