Cara Membuat Tabel Database Dengan Php

Setelah sebelumnya kita selidik mengenai cara menghubungkan MySQL dengan PHP, sreg kesempatan kali ini kita akan menggunjingkan bagaimana cara mengutarakan data tabel MySQL Dengan PHP.

Sudah lalu disebutkan pada kata sandang tersebut bahwa kita tidak disarankan menggunakan kebaikan yang berawalan
mysql_ sebagai halnya
mysql_connect(), dll, karena fungsi tersebut sudah dihapus pada PHP versi 7, sehingga petisi kita dijamin ke depan tidak akan berjalan pula.

Bagi itu pada kesempatan ini kita akan menunggangi arti yang diawali dengan
mysqli_
(dengan tambahan i)

Daftar Isi:

Download file yang digunakan pada pelajaran ini:

I. Kurnia Yang Dapat Digunakan Bagi Mencoket dan Menyodorkan Data Tabel MySQL

Fungsi yang digunakan untuk menjalankan semua query MySQL adalah
mysqli_query(), karena kita akan mengambil data, maka perintah SQL yang kita gunakan merupakan SELECT, sehingga fungsinya menjadi
mysqli_query('SELECT...')

Padalah, bikin dapat memajukan data hasil query, kita perlu mengakses data tersebut, bikin mengakses nya kita boleh menggunakan fungsi yang berawalan
mysqli_fetch_ (fetch = mengambil). Adapun kemujaraban yang tersedia adalah:

  • mysqli_fetch_array()

    Secara default, fungsi ini akan menghasilkan associative array dan indexed array, bikin memilih pelecok satu saja, kita harus menerimakan parameter komplemen yaitu
    FETCH_ASSOC buat hasil associative array dan
    FETCH_ROW
    kerjakan hasil indexed array, kita telaah nanti.

  • mysqli_fetch_assoc()

    Maslahat ini akan menghasilkan associative array dengan key nyata nama field dari tabel.

  • mysqli_fetch_row()

    Kelebihan ini akan menghasilkan indexed array dengan key berupa ponten yang berantai (0, 1, 2, 3, 4, 5, dst…).

Perbedaan ketiga fungsi ini dapat digambarkan seumpama berikut:

Perbedaan Fungsi mysqli_fetch_

Bikin lebih mengetahui lebih jauh tentang array, sobat dapat mempelajarinya pada kata sandang ini: Memaklumi Array Puas PHP

Dari ketiga fungsi tersebut, tertumbuk pandangan bahwa yang paling efisien adalah menggunakan
mysqli_fetch_assoc(), karena semata-mata menghasilkan satu jenis array, namun kita nonblok menggunakan ketiganya karena perbedaan hari eksekusi yang tidak signifikan.

Perulangan (loop) yang digunakan

Semua fungsi diatas, kecuali
mysqli_fetch_all() setiap kali dijalankan akan menghasilkan satu baris row menginjak dari row ke-1 (pemanggilan pertama),  ke-2 (pemanggilan ke 2), dan seterusnya setakat radu, jadi kita tidak tahu berapa bisa jadi kita akan mengulang guna tersebut.

Karena sifatnya yang demikian MAKA kita memperalat repetisi
while, makin jauh tentang kelewahan while, dapat dibaca pada artikel: Memafhumi While dan Do While Pada PHP Dengan Abstrak Kasus

II. Buat Tabel Pada Database

Untuk dapat menyedang script yang akan kita praktekkan nanti, saya akan memperalat model data penjualan nan disimpan puas
grafik sales dan
database pelajaran

Adapun rangka tabel dan datanya merupakan sebagai berikut:

id_transaksi id_produk tgl_transaksi harga id_pelanggan
1 100 2016-09-20 265000 1
2 100 2016-10-11 270000 2
3 101 2016-08-17 250000 2
4 102 2016-02-08 255000 1
5 100 2016-06-05 290000 3

Untuk membuatnya, buat file insert_data.php kemudian copy-paste script berikut (pastikan belum ada grafik sales di database):

          <?php $db_host = 'localhost'; // Nama Server $db_user = 'root'; // User Server $db_pass = ''; // Password Server $db_name = 'tutorial'; // Nama Database  $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name); if (!$conn) { 	die ('Gagal terhubung MySQL: ' . mysqli_connect_error());	 }  $table_name = 'sales';  $sql = 'CREATE TABLE IF NOT EXISTS `' . $table_name . '` ( 		  `id_transaksi` int(11) NOT NULL AUTO_INCREMENT, 		  `id_produk` int(11) NOT NULL, 		  `tgl_transaksi` date Titinada NULL, 		  `kuantitas` tinyint(4) Not NULL, 		  `harga` int(11) Titinada NULL, 		  `id_pelanggan` int(11) Not NULL, 		  PRIMARY KEY (`id_transaksi`), 		  KEY `id_produk` (`id_produk`) 		) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1'; 		 $query = mysqli_query($conn, $sql);  if (!$query) { 	die ('ERROR: Grafik ' . $table_name . ' gagal dibuat: ' . mysqli_error($conn)); }  echo 'Tabel ' . $table_name . ' bertelur dibuat <br/>';  $sql = "INSERT INTO `$table_name` (`id_transaksi`, `id_produk`, `tgl_transaksi`, `total`, `harga`, `id_pelanggan`)  		VALUES (1, 100, '2016-09-20', 8, 265000, 1), 				(2, 100, '2016-10-11', 3, 270000, 2), 				(3, 101, '2016-08-17', 8, 250000, 2), 				(4, 101, '2016-08-24', 12, 380000, 2), 				(5, 101, '2016-05-10', 12, 250000, 1), 				(6, 101, '2016-05-04', 11, 375000, 1), 				(7, 101, '2016-07-15', 3, 265000, 1), 				(8, 100, '2016-05-19', 4, 250000, 1), 				(9, 101, '2016-06-17', 12, 255000, 2), 				(10, 100, '2016-09-11', 12, 280000, 1)"; 		 $query = mysqli_query($conn, $sql);  if (!$query) { 	die ('ERROR: Data gagal dimasukkan sreg tabel ' . $table_name . ': ' . mysqli_error($conn)); }  echo 'Data berhasil dimasukkan pada grafik ' . $table_name . '';
        

Selanjutnya jalankan file tersebut, takdirnya berhasil, maka akan muncul pesan seperti ini:

Membuat dan Memasukkan Data ke Dalam Tabel Sales

III. Mengemukakan Data Tabel MySQL Dengan Fungsi
mysqli_fetch_array()

Fungsi yang permulaan yang akan kita gunakan adalah fungsiÂÂ
mysqli_fetch_array(), fungsi ini barangkali nan
paling tersohor
digunakan karena mungkin namanya nan familiar – mengandung alas kata
array.

Contoh kode:

          <?php $db_host = 'localhost'; // Stempel Peladen $db_user = 'root'; // User Peladen $db_pass = ''; // Password Server $db_name = 'tutorial'; // Nama Database  $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name); if (!$conn) { 	die ('Gagal terhubung MySQL: ' . mysqli_connect_error());	 }  $sql = 'SELECT id_produk, tgl_transaksi, harga, besaran  		FROM sales'; 		 $query = mysqli_query($conn, $sql);  if (!$query) { 	die ('SQL Error: ' . mysqli_error($conn)); }  echo '<table> 		<thead> 			<tr> 				<th>ID PRODUK</th> 				<th>TGL TRANSAKSI</th> 				<th>HARGA</th> 				<th>KUANTITAS</th> 			</tr> 		</thead> 		<tbody>'; 		 while ($row = mysqli_fetch_array($query)) { 	echo '<tr> 			<td>'.$row['id_produk'].'</td> 			<td>'.$row['tgl_transaksi'].'</td> 			<td>'.number_format($row['harga'], 0, ',', '.').'</td> 			<td class="right">'.$row['jumlah'].'</td> 		</tr>'; } echo ' 	</tbody> </table>';  // Apakah kita perlu menjalankan fungsi mysqli_free_result() ini? baca bagian VII mysqli_free_result($query);  // Apakah kita perlu menjalankan faedah mysqli_close() ini? baca bagian VII mysqli_close($conn);
        

Hasil yang kita peroleh merupakan:

Menampilkan Data Tabel Pada Database MySQL Dengan PHP

Penjelasan:

  • Plong baris 7 kita simpan perhubungan ke database ke variabel
    $conn
  • Pada Larik 8 kita pengecekan apakah koneksi gagal (ÂÂif (!$conn)
    ) jika gagal maka script akan berhenti dan memunculkan pesan kesalahan penyebab gagal nya koneksi, sekiranya berhasil, script lanjut ke leret berikutnya.
  • Pada baris 15 kita simpan hasil query ke fleksibel
    $query
  • Leret 17 kita cek jika variabel
    $query
    isinya kosong maka kita hentikan script dan tampilkan pesan kesalahan. Plong tahap ini Sira bebas menentukan apakah script dihentikan atau dilanjutkan dengan hanya menampilkan pesan error saja
  • Lega baris 32, dengan
    while
    kita tambahkan tabulasi row (<tr><td>...</td></tr>) buat setiap row yang dihasilkan, dengan menegur nama field nya:
  • Associative Array Pada Fungsi mysqli_fetch_array

Sebagai halnya telah kita bahas sebelumnya bahwa kita menggunakan perulangan
while lakukan menjalankan
mysqli_fetch_array() karena guna ini setiap dipanggil hanya menghasilkan 1 row yang berurutan.

Untuk membuktikannya, mari kita coba menjalankan
mysqli_fetch_array() secara manual:

          <?php $sql = 'SELECT id_produk, tgl_transaksi, harga, kuantitas  		FROM sales'; 		 $query = mysqli_query($conn, $sql);  $row = mysqli_fetch_array($query); echo 'Produk: ' . $row['id_produk'] . ' Tgl Transaksi: ' . $row['tgl_transaksi'] . ' Harga: ' . $row['harga'] . '</br/>';  $row = mysqli_fetch_array($query); echo 'Produk: ' . $row['id_produk'] . ' Tgl Transaksi: ' . $row['tgl_transaksi'] . ' Harga: ' . $row['harga'] . '</br/>';  $row = mysqli_fetch_array($query); echo 'Dagangan: ' . $row['id_produk'] . ' Tgl Transaksi: ' . $row['tgl_transaksi'] . ' Harga: ' . $row['harga'] . '</br/>';
        

Hasil nan kita peroleh:

Menampilkan Data Tabel MySQL Dengan PHP - Manual

IV. Menganjurkan Data Tabel Database MySQL Dengan Fungsi
mysqli_fetch_assoc()

Sebagaimana telah disampaikan sebelumnya, fungsi ini seperti mana guna
mysqli_fetch_array(), hanya saja, array yang dihasilkan hanya berbentuk associative array (array dengan key berupa nama field dari grafik/temporary field).

Meneruskan cermin sebelumnya, kerjakan menggunakan fungsi ini, kita hanya mesti mengubah fungsi dari
mysqli_fetch_array()
menjadi
mysqli_fetch_assoc()
seumpama berikut:

          <?php $db_host = 'localhost'; // Nama Server $db_user = 'root'; // User Server $db_pass = ''; // Password Peladen $db_name = 'tutorial'; // Nama Database  $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name); if (!$conn) { 	die ('Gagal terhubung MySQL: ' . mysqli_connect_error());	 }  $sql = 'SELECT id_produk, tgl_transaksi, harga, kuantitas  		FROM sales'; 		 $query = mysqli_query($conn, $sql);  if (!$query) { 	die ('SQL Error: ' . mysqli_error($conn)); }  echo '<table> 		<thead> 			<tr> 				<th>ID PRODUK</th> 				<th>TGL TRANSAKSI</th> 				<th>HARGA</th> 				<th>KUANTITAS</th> 			</tr> 		</thead> 		<tbody>'; 		 while ($row = mysqli_fetch_assoc($query)) { 	echo '<tr> 			<td>'.$row['id_produk'].'</td> 			<td>'.$row['tgl_transaksi'].'</td> 			<td>'.number_format($row['harga'], 0, ',', '.').'</td> 			<td class="right">'.$row['besaran'].'</td> 		</tr>'; } echo ' 	</tbody> </table>';  // Apakah kita wajib menjalankan kebaikan mysqli_free_result() ini? baca bagian VII mysqli_free_result($query);  // Apakah kita perlu menjalankan fungsi mysqli_close() ini? baca bagian VII mysqli_close($conn);
        

Output nan dihasilkan juga sama, merupakan:

Menampilkan Data Tabel Pada Database MySQL Dengan PHP

Penjelasan:

Penjelasannya sama seperti sebelumnya, hanya saja pada baris ke 29 kita mengingkari keistimewaan
mysqli_fetch_array()
menjadi
mysqli_fetch_assoc()

V. Menampilkan Data Tabel MySQL Dengan Keefektifan
mysqli_fetch_row()

Guna ini pula sama dengan keefektifan
mysqli_fetch_array(), hanya sahaja bentuk array yang dihasilkan hanya indexed array (array dengan key 0, 1, 2, 3, dst…)

Contoh eksploitasi query ini sama dengan contoh sebelumnya, hanya sekadar kita ubah kemujaraban
mysqli_fetch_assoc()
menjadi
mysqli_fetch_row() dan kita akses field beralaskan index, lain logo field, sebagai berikut:

          <?php $db_host = 'localhost'; // Nama Peladen $db_user = 'root'; // User Server $db_pass = ''; // Password Server $db_name = 'tutorial'; // Nama Database  $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name); if (!$conn) { 	die ('Gagal terhubung MySQL: ' . mysqli_connect_error());	 }  $sql = 'SELECT id_produk, tgl_transaksi, harga, kuantitas  		FROM sales'; 		 $query = mysqli_query($conn, $sql);  if (!$query) { 	die ('SQL Error: ' . mysqli_error($conn)); }  echo '<table> 		<thead> 			<tr> 				<th>ID PRODUK</th> 				<th>TGL TRANSAKSI</th> 				<th>HARGA</th> 				<th>KUANTITAS</th> 			</tr> 		</thead> 		<tbody>'; 		 while ($row = mysqli_fetch_row($query)) { 	echo '<tr> 			<td>'.$row[0].'</td> 			<td>'.$row[1].'</td> 			<td>'.number_format($row[2], 0, ',', '.').'</td> 			<td class="right">'.$row[3].'</td> 		</tr>'; } echo ' 	</tbody> </table>';  // Apakah kita perlu menjalankan fungsi mysqli_free_result() ini? baca bagian VII mysqli_free_result($query);  // Apakah kita perlu menjalankan khasiat mysqli_close() ini? baca bagian VII mysqli_close($conn);
        

Hasil yang kita songsong juga sama:

Menampilkan Data Tabel Pada Database MySQL Dengan PHP

Penjelasan:

Penjelasan sama seperti puas maslahat
mysqli_fetch_array(), bedanya, pada lajur 29 kita menggunakan
mysqli_fetch_row()
dengan menyapa nama field berdasarkan index nya.

Sa-puan index diambil bermula logo field yang digunakan pada query SELECT yang diurutkan berpokok yang minimal kiri ke kanan:

Indexed Array Pada Fungsi mysqli_fetch_row

VI. Membuat dan Menampilkan Data Temporary Field

Melanjutkan sebelumnya, untuk mempermudah mencerna index ini, mari kita kerjakan temporary field yang bernama
total_byr, yang merupakan pengalian berbunga harga x jumlah.

Query nya terlazim kita silih menjadi:

          $sql = 'SELECT id_produk, tgl_transaksi, harga, kuantitas, harga*jumlah AS total_byr  		FROM sales'; 		 $query = mysqli_query($conn, $sql);  if (!$query) { 	die ('SQL Error: ' . mysqli_error($conn)); }  echo '<table> 		<thead> 			<tr> 				<th>ID Barang</th> 				<th>TGL TRANSAKSI</th> 				<th>KUANTITAS</th> 				<th>HARGA</th> 				<th>TOTAL BYR</th> 			</tr> 		</thead> 		<tbody>'; 		 while ($row = mysqli_fetch_array($query)) { 	echo '<tr> 			<td>'.$row['id_produk'].'</td> 			<td>'.$row['tgl_transaksi'].'</td> 			<td>'.$row['besaran'].'</td> 			<td>'.$row['harga'].'</td> 			<td>'.number_format($row['total_byr'], 0, ',', '.').'</td> 		</tr>'; } echo ' 	</tbody> </table>';
        

Hasil nan kita terima adalah:

Menampilkan Data Tabel MySQL Dengan PHP - Temporary Tabel

Penjelasan:

Kita dapat membentuk temporary field dengan menambahkanÂÂAS, ataupun tanpa memperalat
AS
(harga*kuantitas total_byr)

Saya kian memilih menggunakan
AS
karena bertambah mudah untuk mengidentifikasi bahwa fileld tersebut merupakan field mentah hasil query (temporary field)

Field-field yang akan menjadi key berbunga array hasil query adalah seperti rangka berikut:

Associative Array Pada Fungsi mysqli_fetch_array - Temporary Field

Jika menggunakan keistimewaan
mysqli_fetch_row(), maka urutan index seperti rang berikut:

Indexed Array Pada Fungsi mysqli_fetch_row - Temporary Field

VII. Apakah Terbiasa Menjalankan FungsiÂÂ
mysqli_free_result
(
)


danÂÂ


mysqli_close(
)



?

Sreg contoh diatas, ketika menampilkan data diagram MySQL,  kita selalu menggunakan
mysqli_free_result()
dan
mysqli_close(), barang apa kegunaan kedua keefektifan ini dan apakah kita teradat menjalankannya?

mysqli_free_result()

Setiap barangkali kita menjalankan perintah MySQL yang menghasilkan data (perintah SELECT) maka PHP akan menyimpan data tersebut sreg memori komputer (RAM), kejadian ini sekufu ketika kita mendefinisikan luwes, dimana kredit dari variabel tersebut akan disimpan plong memory
$elastis='Teks ini disimpan pada RAM'.

Nah, lakukan menghapus data plong memory ini, lega variabel kita cukup memberikan nilai null atau sejenisnya ($variabel = ''),  padahal pada hasil query kita perlu menggunakan perintah
mysqli_free_result().

Goresan:
PHP tetap akan menjalankan perintah ini di setiap akhir eksekusi script PHP.

Apakah arti ini perlu dijalankan?

YA, sekiranya query kita menghasilkan data yang sangat besar, dan di sisa script PHP kita masih banyak kode nan membutuhkan space memory atau kita tidak tahu apa yang terjadi di geladir script PHP yang ada (seperti puas pembuatan plugin)

TIDAK, jika query menghasilkan data yang katai dan kita tahu bahwa sisa pecah  script PHP kita sekadar membutuhkan memory yang kecil.

mysqli_close
(
)

Arti ini berfungsi untuk menyelimuti koneksi MySQL, apakah ini mesti kita jalankan?

YA, jika kita ingin sparing sesuatu yang baik, karena di bahasa pemrograman lain koneksi ini akan terus membengang jika kita tidak menutupnya secara manual.

Bukan, jika kita ingin praktis, karena PHP akan selalu menutup interelasi ini di akhir eksekusi script PHP.

PHP merupakan bahasa inerpreter, yang artinya tidak berhubungan sekaligus dengan fisik komputer, padahal setiap bahasa pemrograman rajin gandeng dengan fisik komputer, nah pada PHP, ada engine sendiri yang menterjemahkan bahasa PHP ke bahasa komputer yang sampai saat ini menggunakan Zend Engine.

Nah, Zend Engine ini nan akan faali menutup semua koneksi puas database pada setiap akhir eksekusi script PHP.

Download file yang digunakan plong tutorial ini:

VIII. Tambahan

Terdapat pertanyaan seperti ini: bagaimana jika kita ingin menskip bilang data? misal yang ditampilkan semata-mata saf 2,3, dan 4, enggak keseluruhan data. Untuk keperluan seperti ini, kita boleh menggunakan statement continue buat melewati loop dan break bagi menghentikan loop, umpama berikut:

          $num = 1; while ($row = mysqli_fetch_assoc($query)) { 	if ($num < 2) { 		continue; 	} else if ($num == 5) { 		break; 	} 		 	echo '<tr> 		<td>'.$row['id_produk'].'</td> 		<td>'.$row['tgl_transaksi'].'</td> 		<td>'.number_format($row['harga'], 0, ',', '.').'</td> 		<td class="right">'.$row['kuantitas'].'</td> 	</tr>'; 	$num++; }</pre>
        

Demikian pembahasan adapun cara menampilkan data tabulasi MySQL dengan PHP, mudah-mudahan bermanfaat.

Artikel Tercalit: Menampilkan Data MySQL Ke Dalam Tabel HTML

Subscibe Now

Suka dengan kata sandang di Jagowebdev.com? jangan setakat utang, lekas join ke milis kami bikin update informasi terbaru mulai sejak Jagowebdev.com


Source: https://jagowebdev.com/menampilkan-data-tabel-database-mysql-dengan-php/