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

Tampilkan Data Sesuai yang Dibuat Pengguna Tersebut

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:

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 !

Bikin WebsitePemrogramanPHP
Komentar (15)
Tambah Komentar
  • nana

    maaf banget kak boleh minta tolong ngga, ini di code slahnya dimana
    query($query);
    ?>

    Document

    polrestabes makassar
    Home

    Input Laporan

    laporan polisi
    laporan kehilangan
    laporan pengaduan

    About Us
    Log Out

    login sebagai

    Nomor
    Nama Pelapor
    tujuan Laporan
    nama terlapor
    deskripsi
    author
    aksi

    num_rows > 0){
    while($row = $hasil->fetch_assoc()) {
    echo ‘

    ‘.$row[‘ID’].’
    ‘.$row[‘pelapor’].’
    ‘.$row[‘tujuanLaporan’].’
    ‘.$row[‘namaTerlapor’].’
    ‘.$row[‘deskripsi’].’
    ‘.$row[‘author’].’
    detil

    ‘;
    }
    }
    ?>

    noticenya undefined variable $hasil
    sama
    Notice: Trying to get property ‘num_rows’ of non-object in C:\xampp\htdocs\kapolres\laporanSaya.php on line 63

  • pena

    include ‘koneksi.php’;

    // menangkap data yang dikirim dari form login
    $username = $_POST[‘username’];
    $password = $_POST[‘password’];

    // menyeleksi data pada tabel admin dengan username dan password yang sesuai
    $data = mysqli_query($mysqli, “SELECT * FROM login_multi WHERE username=’$username’ and password=’$password'”);

    $sql_login = mysqli_query($mysqli, “SELECT * FROM trasaksi WHERE username = ‘$username'”);

    if(mysqli_num_rows($sql_login)>0) {
    $row_transaksi = mysqli_fetch_array($sql_login);

    //$_SESSION[“login_multi_id_user”] = $row_transaksi[“id_user”];
    $_SESSION[“transaksi_no”] = $row_transaksi[“ino”];
    $_SESSION[“transaksi_no_rek”] = $row_transaksi[“no_rek”];
    $_SESSION[“transaksi_wilayah”] = $row_transaksi[“wilayah”];
    $_SESSION[“transaksi_nama”] = $row_transaksi[“nama”];
    $_SESSION[“transaksi_jenis_transaksi”] = $row_transaksi[“jenis_transaksi”];
    $_SESSION[“transaksi_nominal”] = $row_transaksi[“nominal”];
    $_SESSION[“transaksi_tgl_transaksi”] = $row_transaksi[“tgl_trasaksi”];
    $_SESSION[“transaksi_username”] = $row_transaksi[“username”];

    }

    // menghitung jumlah data yang ditemukan
    $cek = mysqli_num_rows($data);

    // $qry = mysqli_fetch_array($data);

    if($cek > 0){
    $_SESSION[‘username’] = $username;
    $_SESSION[‘status’] = “login”;
    header(“location:depan.php”);
    // $_SESSION[‘username’] = $qry[‘username’];
    }
    else{
    header(“location:index.php?pesan=gagal”);
    }

    kalo seperti ini bagaiaman ?

  • apik

    ada contoh code yg dah jadinya gk maas gk paham sama sekali

  • Saifur Rizal

    Assalamualaikum.
    Kalau membuat editnya gmn bang? soalnya pas di edit hanya satu data yang dbisa di edit sedangkan yang lain gagal

    • Posciety Tech

      Cek di video tutorial kita yah, disitu ada contoh untuk mengeditnya juga.

  • Rifqi

    Kalo di framework codeigniter kode gimana mas?

  • Arief Kurniawan

    Mas boleh minta contoh source codenya dalam bentuk project nya engga mas, saya gak paham soalnya mas hehe

  • edo

    terimakasih sangat membantuuu

  • hery

    masih belum bisa mas. ada contoh project nya gak mas

    • Posciety Tech

      belum bisanya gimana ya? bisa dijelasin lebih detail?

      • hery

        No
        Nama Jabatan
        Aksi

        <a href="ubahjabatan.php?id_jabatan=” onclick=”return confirm(‘Apakah anda yakin mengubah data ini ?’)”>
        edit

        <a href="hapusjabatan.php?id_jabatan=” onclick=”return confirm(‘Apakah anda yakin ingin menghapus data ini ?’)”>
        close

      • hery

        yang muncul hanya id_jabatan berdasarkan contoh yg mas buat kan buat berdasarkan transaksi yang dilakukan user berdasarkan id_user. yang ingin saya tampilkan adalah inputan yang dilakukan user a dan muncul ditabel user a. user b c d tidak bisa melihat data tersebut.

      • Posciety Tech

        Inputan apa yang ingin ditampilkan? Mungkin inputan yang mas bikin tidak ada di contoh yang kita bikin di atas, jadi mas harus ambil dulu data inputan tersebut dari database (caranya sama, tidak beda jauh dengan data-data yang diambil pada contoh di atas) kemudian variable untuk mengambil data itu di simpan pada tempat dimana ingin menampilkannya.

        Semoga membantu.

      • hery

        No
        Nama Jabatan
        Aksi

        <a href="ubahjabatan.php?id_jabatan=” onclick=”return confirm(‘Apakah anda yakin mengubah data ini ?’)”>
        edit

        <a href="hapusjabatan.php?id_jabatan=” onclick=”return confirm(‘Apakah anda yakin ingin menghapus data ini ?’)”>
        close

      • wwkkk

        wkwkw, itu fungsi edit bro. bukan data setiap session