Menampilkan Data di PHP Sesuai Apa yang Dibuat Oleh Masing-Masing Akun

Tampilkan Data Sesuai yang Dibuat Pengguna Tersebut

15

Dalam menampilkan data dari database di file PHP memiliki banyak sekali cara / metode yang dapat digunakan tapi pada artikel ini saya akan menjelaskan dengan mysqli statement. Spesialnya pada artikel ini akan ditambahkan bagaimana menampilkan data berbeda-beda setiap akun login (tidak sekedar menampilkan data saja).

Pastikan pada form login yang kalian miliki terdapat metode untuk mencatat data dari akun login tersebut. Misalnya disini saya mempunyai table dengan nama akun yang mendefinisikan semua data dari akun / member. Pada table akun ini memiliki banyak sekali kolom seperti: id, username, email, password, nama, alamat dan lain-lain. Nah, data itulah (atau data dari table akun yang diperlukan datanya) yang perlu dicatat agar dapat kita gunakan pada momen tertentu. Tidak hanya table akun, pada database saya memiliki table lain seperti post, kategori dan lainnya.

Umumnya, sistem login PHP dengan statement mysqli seperti ini:

ads by posciety

if(isset($_POST["submit_login"])) {
        $username   = $_POST["username"];
        $password   = $_POST["password"];
}

Artinya akan memeriksa jika data yang dimasukkan pada form login (username & password) sesuai dengan apa yang ada di database maka berhasil login.

Sekarang, silahkan tambahkan metode baru untuk mengambil data dari masing-masing akun yang berhasil login tepat dibawah sistem login tadi. Contohnya seperti ini:

$sql_login  = mysqli_query($koneksi, "SELECT * FROM akun WHERE username = '$username' AND password = '$password'");

Artinya saya telah membuat query untuk mengambil data dari table akun yang username dan password nya adalah akun/member yang login tadi. Jadi, disini kita akan mengambil data dari akun yang berhasil login dari form login tersebut.

Setelah seperti ini, sekarang kita panggil / implementasikan query tersebut menjadi data yang akan kita ambil dari akun login dan tentu data dari table akun. Misalnya saya ambil beberapa data dari table akun seperti ini:

if(mysqli_num_rows($sql_login)>0) {
            $row_akun = mysqli_fetch_array($sql_login);
            $_SESSION["akun_id"] = $row_akun["id"];
            $_SESSION["akun_username"] = $row_akun["username"];
            $_SESSION["akun_password"] = $row_akun["password"];
            $_SESSION["akun_namadepan"] = $row_akun["namadepan"];
            $_SESSION["akun_namabelakang"] = $row_akun["namabelakang"];
            $_SESSION["akun_statusakun"] = $row_akun["id_statusakun"];
            $_SESSION["akun_tentangsaya"] = $row_akun["tentangsaya"];
            $_SESSION["akun_email"] = $row_akun["email"];
            $_SESSION["akun_ipk"] = $row_akun["ipk"];
            $_SESSION["akun_foto"] = $row_akun["foto"];
            $_SESSION["akun_alamat"] = $row_akun["alamat"];
            $_SESSION["akun_kota"] = $row_akun["kota"];
            $_SESSION["akun_provinsi"] = $row_akun["provinsi"];
            $_SESSION["akun_nohp"] = $row_akun["nohp"];
            $_SESSION["akun_slogan"] = $row_akun["slogan"];
            $_SESSION["akun_semester"] = $row_akun["semester"];
            $_SESSION["akun_tempatkerja"] = $row_akun["tempatkerja"];
            $_SESSION["akun_date"] = $row_akun["date"];
            $_SESSION["akun_idjurusan"] = $row_akun["id_jurusan"];

Tidak perlu mengambil semua data dari table akun jika tidak perlu, jika memang perlu semuanya juga silahkan aja. Ini adalah data yang diambil dari table akun yang dimiliki oleh akun/member login. Ya, disini kita manfaatkan SESSION. Dalam penulisan nilai/value SESSION perlu diawali dengan nama table kemudian diberi garis bawah dan dilanjutkan dengan query kalian (query nya bebas misalnya ingin mengambil alamat maka saya tulis $_SESSION[“akun_alamat”]) yang jelas harus diawali dengan nama table yang bersangkutan (akun).

Ini hanya pembukaan saja, karena pada artikel ini saya bukan menjelaskan tentang membuat form / sistem login tapi metode diatas memang perlu diulas sedikit karena diperlukan untuk menampilkan data berbeda-beda setiap akun login.

Selanjutnya, ketika ingin menampilkan dara berbeda-beda untuk setiap akun yang login misalnya di halaman Dashboard akun A akan menampilkan semua post yang pernah dibuat oleh akun A tersebut sedangkan di akun B hanya menampilkan post yang pernah dibuat oleh akun B dan begitu seterusnya. Hal ini biasanya digunakan jika situs kalian memiliki banyak author dan supaya setiap author hanya dapat melihat / mengedit post nya masing-masing (tidak dapat melihat / mengedit post yang dibuat oleh author lain).

Pada query penampilan data post kalian perlu sedikit di modifikasi dengan menambahkan (misalnya ambil dari id akun login) $id_author = $_SESSION['akun_id']; yang artinya kita membuat variable baru lagi untuk mengambil id dari akun login tersebut. Kemudian pada query pemanggilan data post silahkan tambahkan metode penampilan dengan WHERE id jadi misalnya seperti ini:

$query  = mysqli_query($koneksi, "SELECT * FROM post WHERE id_author = '$id_author' ORDER BY id DESC");

Artinya variable query ini akan menampilkan hanya post yang dimiliki oleh id akun yang sama dengan id akun login. Jika kalian tidak ingin membuat variable baru lagi ($id_author) maka dapat mengganti WHERE id_author = '$id_author' dengan WHERE id_author = $row_akun["id"];karena pada sistem login tadi sudah kita buat dan inilah fungsinya mengambil data akun yang login membuat pemanggilan data dengan kondisi-kondisi tertentu menjadi lebih mudah.

Kesimpulan

Pada artikel ini saya contohkan dengan kondisi pemanggilan data post, tapi metode ini pun dapat digunakan untuk pemanggilan lain tinggal disesuaikan saja. Please keep in mind, statement berbeda tentu caranya pun berbeda. Jadi, artikel ini untuk pengguna yang menggunakan statement mysqli seperti yang saya jelaskan di awal.

Masih bingung ? Lihat : Video tutorial cara menampilkan data yang sesuai dengan user ID tersebut.

Selamat mencoba !

Artikel Lainnya
Lihat Komentar (15)

Website ini menggunakan cookie untuk pengalaman yang lebih baik Setuju & Tutup Selengkapnya