membuat file dinamis sesuai dengan keadaan database

saya lagi bikin frontend web php native,, misalkan di db ada tabel kategori yg isinya misalkan aksesories,handphone,dll.. saya buat filenya satu-satu untuk menampung product dengan category tersebut.. contoh filenya jadi : aksesoris.php (isinya product yg kategori aksesoris), handphone.php dll... nah kelemahannya jika ada update database di tabel tersebut/ kategori bertambah satu,, otomatis saya harus bikin file baru lagi.. ini menjadikan tidak dinamis,,

saya tadinya ingin membuat penamaan file kategori menjadi satu.. contoh kategori.php.. jadi ketika di frontend,, pas klik menu kategori aksesoris masuk ke kategori.php, begitupun kategori-kategori yg lainnya masuk ke kategori.php.. namun cara membedakannya bagaimana,, jika user klik kategori aksesoris.. si file kategori.php tersebut membaca kategori aksesoris untuk ditampilkan productnya..

mohon maaf saya newbie.. minta saran dan masukkannya ?? makasih

avatar inginbelajar
@inginbelajar

95 Kontribusi 21 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

Bukannya bisa pake get url misalkan namadomain.com/kategori.php?category=aksesoris . Nah jadi setiap category di cek dulu kalau ada tampilkan kalau tidak ada tampilkan page error. Jadi user bisa ganti categorynya lewat url itu juga. Soalnya kalau buat file untuk setiap category akan pengaruh dengan storage walau gak terlalu besar sih filenya.

avatar devio
@devio

101 Kontribusi 46 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

setuju dengan agan @devio.

agan tinggal menggunakan fungsi get url kalo saya lebih suka menggunakan $_REQUEST[]. ini saya kasihkan contoh untuk agan @inginbelajar

Disini agan hanya perlu membuat 1 file saja yaitu kategori.php


<?php
  include "database.php"

  $table = $_REQUEST['cat'];

  function ambilData($permintaanUser){
     $sql       = "select * from $permintaanUser";
     $query     = mysql_query($sql);
     $ambilData = mysql_fetch_array($query) or die(mysql_error());

     return $ambilData;
  }

  $tampilkanData = ambilData($table);

  while($tampilkanData) {
     echo "Produk nomor ".$tampilkanData['noid']."<br/>";
     echo $tampilkanData['judul_produk']."<br/>";
     echo $tampilkanData['deskripsi']."<br/>";
     echo $tampilkanData['harga']."<br/>";
  }

?>

Saya akan coba bantu jelasin perbarisnya

 include "database.php"

# dibaris ini untuk mengambil settingan database dari file database.php agar bisa konek ke database dikomputer agan

$table = $_REQUEST['cat'];

# dibaris ini saya mendeklarasikan variable $table, ini fungsinya untuk menyimpan request dari user. CONTOH :


// jika user mengklik menu aksesoris maka url yang didapat seperti ini
namadomain.com/kategori.php?cat=aksesoris

// jika user mengklik menu handphone
namadomain.com/kategori.php?cat=handphone

// dan seterusnya

agan hanya perlu memasukan alamat url sesuai seperti contoh diatas ke link menu agan sesuai dengan kategori yang agan miliki

cat disini hanya singkatan dari category untuk mempersingkat saja,

function ambilData($permintaanUser)

# untuk baris ini saya membuat fungsi agar lebih mudah digunakan

$tampilkanData = ambilData($table);

# disini saya mengunakan fungsi yang saya buat diatas, dengan menggunakan variabel $table sebagai acuan table mana yang akan diambil datanya. Dan datanya saya kembalikan dalam bentuk array

while($tampilkanData) {
     echo "Produk nomor ".$tampilkanData['noid']."<br/>";
     echo $tampilkanData['judul_produk']."<br/>";
     echo $tampilkanData['deskripsi']."<br/>";
     echo $tampilkanData['harga']."<br/>";
  }

# pada barisan ini saya menggunakan looping dengan while, karna variabel $tampilkanData ini berupa array dan bisa memiliki data lebih dari satu baris di table yang kita ambil datanya dan disimpan di variabel tersebut

cukup panjang juga yang gan, semoga bisa membantu. Jika ada yang perlu ditanyakan, tanyakan saja yah gan :D

avatar Setiabudigalih
@Setiabudigalih

15 Kontribusi 8 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban