ffCCBot/2.0 (http://commoncrawl.org/faq/)
NEW!! Buku Query MySQL Lihat Detail » x

PHP FORM III: Menampilkan Data MySQL Dengan PHP dan Form HTML

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:

Menampilkan Data MySQL Ke Tabel HTML Dengan PHP dan Form HTML

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:

Hubungan Antar Tabel - Foreign Key

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 kondisi nama_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 klausa OR yang ada dipaling belakang, selain itu, untuk menggabungkan dengan kondisi pada input nama barang, kita tambahkan klausa AND 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 tersbentuk WHERE 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:

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Recomended Post

20 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:

      <div class="row">
          <label>Nama Barang</label>
          <div class="col-wrap">
              <input type="text" name="nama_barang" placeholder="Semua..." value="" />
              <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">
                  <option value="total" selected="selected">Total Bayar</option>
                  <option value="tgl_trx">Tanggal Transaksi</option>
              </select>
              <select name="sort">
                  <option value="DESC" selected="selected">DESC</option>
                  <option value="ASC">ASC</option>
              </select>
          </div>
      </div>

      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..

  • 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…

    $sql =mysql_query("SELECT j.*,k.*,g.*, (SELECT COUNT(hari) FROM jadwal WHERE hari=j.hari) AS jumlah FROM jadwal j join kelas k,guru g where j.kode_kelas = k.kode_kelas and j.kode_guru = g.kode_guru and j.kode_kelas = '$_GET[kelas]' order by j.hari asc")or die ("Gagal query".mysql_error());
    $jum = 1 ;
    echo '';
    echo 'HariMata PelajaranWaktuGuru';
    while ($row = mysql_fetch_array($sql)){
    	echo '';
        if($jum <= 1) {
    echo ''.$row['hari'].'';  
            $jum = $row['jumlah']; 
        } else {
            $jum = $jum -+ 1;
        }
    echo ''.$row['nama_mata_pelajaran'].'';
    echo ''.$row['jam'].'';
    echo ''.$row['nama_lengkap'].'';
    echo '';
    }
    echo '';  
    

    mohon bantuanya 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:

      Nama                        | item |
      Barang Yang Namanya Panjang | 1    |
      

      jadi

      Nama            | item |
      Barang Yang     | 1    |
      Namanya Panjang |      |

      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 🙂

Silakan tinggalkan komentar

*

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com

Like Us

  1. Memahami Tipe Data Pada PHP

  2. Query MySQL di Dalam PHP Loop – Bad Practice !!!

  3. Software Kompres dan Optimasi Gambar / Foto (JPG dan PNG) – Tested

  4. 40+ Theme WordPress Gratis Untuk Blog – Modern & Responsive

  5. Eksklusif Cheat Sheet PHP Bahasa Indonesia – Pendamping Belajar PHP

  6. PHP FORM III: Menampilkan Data MySQL Dengan PHP dan Form HTML

  7. Tutorial PHP Form II: Menampilkan Hasil Input Form HTML dengan PHP

  8. Tutorial PHP Form I: Menghubungkan Form HTML dengan PHP

  9. Menampilkan Data Dari Beberapa Tabel MySQL – JOIN Pada MYSQL

  10. Memahami dan Menampilkan Tanggal dan Waktu Pada PHP