Membuat Sistem Pertemanan Sederhana

22 views

Pada artikel kali ini saya akan menunkukan kepada Anda cara menciptakan sistem pertemanan menyerupai pada website jejaring sosial. Contohnya yah menyerupai pada website jagocoding ini. Namun sistem yang akan saya tunjukan yaitu dasarnya saja. Anda sanggup mengembangkannya lagi sesuai keinginan. Kelebihannya Anda sanggup menambah sistem ini ke dalam jenis website apapun, menyerupai toko online, portal berita, bahkan website sekolah. Selama website tersebut ada tabel data-data anggota website, tentu sistem ini bis di terapkan.

Konsepnya yaitu kita memakai variabel array untuk menyimpan data teman-teman si user yang bersangkutan. Data array yang disimpan biasanya berupa nomor unik dari ID teman-temannya. Lalu data array tersebut akan disimpan pada field array sahabat pada tabel user. Juga peranan utama yaitu fungsi explode dan implode dari php untuk mengolah data pada field array_teman. Kaprikornus Anda dibutuhkan sudah mengerti ihwal array, explode, dan implode. Juga dasar-dasar PHP tentunya.

Oleh sebab itu kita buat dulu databasenya. Berikut yaitu struktur dari databasenya.

 

Silahkan ekspor saja file databasenya dari folder proyek yang saya sertakan. Kita buat satu tabel saja di database teman. Yaitu tabel user, kalau nanti Anda ingin  menerapkan sistem pertemanan ini jadi tinggal cari tabel yang sejenis dengan tabel user ini. Intinya yang terpenting yaitu field array_temannya. Mau menyerupai apapun struktur tabel user di sistem Anda nantinya, pokoknya harus ada field array_teman untuk menerapkan sistem pertemenan. Karena field array_teman ini berfungsi untuk menyimpan kunci id unik dari masing-masing user yang menjadi sahabat kita.

Selanjutnya kita buat file koneksinya dulu. Buat dengan nama filenya koneksi.php. Berikut yaitu listingnya

<?php// koneksi ke mysql$dbHost = "localhost";$dbUser = "root";$dbPass = "";$dbName = "teman";mysql_connect($dbHost, $dbUser, $dbPass);mysql_select_db($dbName);?>

selanjutnya kita buat file index.php berikut yaitu listingnya

 

<?php include "koneksi.php"; ?><html><head><title>Sistem Pertemanan</title><link href="style.css" rel="stylesheet" type="text/css"></head><body><?php //query untuk menampilkan data user 1 (Zlatan Ibrahimovic)$query = mysql_query("SELECT * FROM user WHERE uid='1'");$row=mysql_fetch_array($query);?> <ul id="member"><div class="user-title"> Daftar Teman <?php echo $row['nama'] ; //tampilkan nama user 1 ?></div><?php//Ambil daftar user yang telah menjadi sahabat user 1 (Zlatan Ibrahimovic)$query_teman = mysql_query("SELECT * FROM user WHERE uid='1'");while($row=mysql_fetch_array($query_teman)){$array_teman = $row["array_teman"];//jika array sahabat user 1 tidak kosongif ($array_teman  != "") { // Pecah array teman$arrayTeman = explode(",", $array_teman);//Pecahan array sahabat satu persatu akan diberi query sql foreach ($arrayTeman as $key => $value){ $sql_teman = mysql_query("SELECT *  FROM user WHERE uid='$value' LIMIT 1") or die(mysql_error());while($row=mysql_fetch_array($sql_teman)){$foto= "gambar/$row[foto]";//Tampilkan List array teman?><li id="list<?php echo $row['uid']; ?>"> <img src="<?php echo $foto; ?> " /><a href="#" class="user-title"><?php echo $row['nama'];?> </a><span class="add"> <form name="hapusteman" method="post" action="hapus_teman.php"> <input type="submit" class="greenButton" value="Hapus Teman" name="hapus_teman" /> <input type="hidden" name="id_teman" value="<?php echo $row['uid']; ?>"> </form>  </span>  </li>  <?php}}}  else { //Jika array sahabat user 1 kosong?><div class="user-title"> Belum mempunyai Teman</div><?php}}?><div class="user-title"><a href="list_teman.php">Lihat Semua User</a> </div></ul></body></html>

Pada isyarat diatas, kita menampilkan data pertemanan dari user ber id 1. Terlihat pada baris isyarat ke-10. Kita buat statis saja dulu sebagai contoh. Kalau nanti mau dikembangkan, perintah sql tinggal diubah saja menurut user yang login. Sementara kita anggap saja user yang login yaitu user ber-id 1.

Selanjutnya file index diatas mempunyai kegunaan untuk menampilkan daftar user yang sudah menjadi sahabat kita. Hal itu sanggup dilihat pada perintah sql baris ke-26. Sebelum di tampilkan, data dari field array_teman di explode terlebih dahulu berdsarkan tanda koma (,). Baru sehabis itu di tampilkan secara berulang dengan perintah foreach.

Setiap list sahabat akan disertakan tombol hapus yang akan mengarahkan ke file hapus_teman.php yang gunanya untuk menghapus user yang terdaftar pada pertemeanan kita. Di simpulan juga ada link lihat semua user untuk mengarahkan ke file list_teman.php yang mempunyai kegunaan untuk menampilkan seluruh daftar user yang ada di database.

Berikut yaitu tampilan dari file index.php

 

Oke, selanjutnya kita akan membahas file list_teman.php, berikut yaitu source kodenya

<?php include "koneksi.php"; ?><html><head><title>Sistem Pertemanan</title><link href="style.css" rel="stylesheet" type="text/css"></head><body><ul id="member"><div class="user-title">Daftar Seluruh Teman</div><?php // Ambil daftar user yang bukan user 1 (Zlatan Ibrahimovic)$query_user = mysql_query("SELECT * FROM user where uid!='1'");while($row=mysql_fetch_array($query_user)) {$uid=$row['uid'];$foto= "gambar/$row[foto]";//Tampilkan List seluruh user kecuali user 1?><li id="list<?php echo $row['uid']; ?>"> <img src="<?php echo $foto; ?> " /><a href="#" class="user-title"><?php echo $row['nama'];?> </a><?php $sql_cek_teman = mysql_query("SELECT * FROM user WHERE uid='1' LIMIT 1"); while($row=mysql_fetch_array($sql_cek_teman)) { $arrayTeman = $row["array_teman"];  }// Cek Seluruh User Apakah sudah menjadi sahabat dari user 1 (Zlatan Ibrahimovic)$array_teman = explode(",", $arrayTeman); //pecah array user 1if (in_array($uid, $array_teman)) { //jika user sudah ada dalam array zuser 1 (zlatan ibrahimovic)?>  <span class="add"><div class="user-title">Sudah menjadi sahabat Anda</div></span></li><?php }else{//jika user belum ada dalam array user 1 (zlatan ibrahimovic)?><!--Form untuk penyimpanan array sahabat user 1 (zlatan ibrahimovic)proses simpan array dihukum oleh file "simpan_teman.php"--><span class="add"><form name="tambahteman" method="post" action="simpan_teman.php"><input type="submit" class="greenButton" value="Tambah Teman" name="tambah_teman" /><input type="hidden" name="id_teman" value="<?php echo $uid; ?>"></form></span></li><?php}}?></ul></body></html>

Tampilan dari isyarat diatas akan menyerupai ini

 

File diatas Konsepnya tidak jauh berbeda dengan file index.php. Namun bedanya file ini akan menampilkan seluruh warga yang terdaftar pada database. (warga, udah kayak rapat RT aja). Untuk user yang sudah menjadi sahabat kita akan diberikan keterangan berupa teks “sudah menjadi sahabat anda”. Hal itu sanggup di lakukan sebab perintah logika if pada baris 27 yang memakai fungsi in_array. Sudah tahu kan apa itu fungsi in_array. 🙂

Selanjutnya untuk user yang belum menjadi sahabat akan dilakukan lagi perintah else pada baris 35-47 yang akan menampilkan tombol tambah teman. Apabila kita klik tombol itu, maka kegiatan akan mengarahkan ke file simpan_teman.php yang berfungsi menjalankan query penambahan sahabat ke database.

Nah, inilah source isyarat dari simpan_teman.php 

<?phpinclude "koneksi.php";$uid_teman=$_POST['id_teman'];//query user 1$sql_cek_teman = mysql_query("SELECT * FROM user WHERE uid='1' LIMIT 1"); while($row=mysql_fetch_array($sql_cek_teman)) { $arrayTeman = $row["array_teman"];}$array_teman = explode(",", $arrayTeman); //pecah array user//jika array tidak kosong maka array yang disimpan yaitu array usang ditambah $uid_teman (nilai $uid_teman dikirimkan dari form di list_teman.php)//jika array kosong atau belum ada sahabat maka yang disimpan hanya $uid_teman (nilai $uid_teman dikirimkan dari form di list_teman.php)if ($arrayTeman != "") { $arrayTeman = "$arrayTeman,$uid_teman"; } else { $arrayTeman = "$uid_teman"; }//simpan perubahan array$UpdateArrayTeman = mysql_query("UPDATE user SET array_teman='$arrayTeman' WHERE uid='1'");?><script language="javascript">alert("Tambah Teman Berhasil");document.location="index.php";</script><?php ?>

Mekanisme proses pada file diatas pertama akan di pecah dulu data pada field_array sahabat memakai fungsi explode pada baris ke-7. Selanjutnya akan diperiksa apakah field array_teman sudah terisi atau belum Kalau terisi akan dijalankan perintah baris ke 11 yaitu penggabungan data dari $array_teman dengan variabel sahabat yang di tambahkan. Lalu kalau belum punya teman, akan di jalankan perintah baris ke 14 untuk mengisi data baru. 

Selanjutnya kalau sudah dijalankan salah satu dari opsi diatas, akan dilanjutkan dengan perintah update sql pada baris ke-17 untuk memperbarui data pada field array_teman. Setelah itu dijalankan javascript alert yang memberi tahu bahwa proses berhasil dan dikala kita klik ok akan di redirect kembali ke file index.php

 

Secara otomatis user yang tadi kita tambahkan akan berhasil masuk ke daftar sahabat kita.

 

Begitupun isi dari tabel user, dimana array_teman pada user 1 akan bertambah pula.

Selanjutnya yaitu source isyarat dari file hapus_teman.php

<?phpinclude  "koneksi.php";$uid_teman=$_POST['id_teman'];// Query user 1$sql_cek_teman = mysql_query("SELECT * FROM user WHERE uid='1' LIMIT 1"); while($row=mysql_fetch_array($sql_cek_teman)) { $arrayTeman = $row["array_teman"];}$array_teman = explode(",", $arrayTeman); //pecah array user//bagian ini untuk menghapus array dengan fungsi unset pada key nilai yang di explodeforeach ($array_teman as $key => $value) {  if ($value == $uid_teman) {  unset($array_teman[$key]);  } }//Sekarang fungsi implode dipakai untuk menyatukan string kembali sebelum dimasukkan kedalam database$array_teman_baru = implode(",", $array_teman);//simpan perubahan array$UpdateArrayTeman = mysql_query("UPDATE user SET array_teman='$array_teman_baru' WHERE uid='1'");?><script language="javascript">alert("Pertemanan sudah dihapus");document.location="index.php";</script>

 

Mekanisme dari file di atas tidak berbeda jauh dengan file simpan_teman.php. yang berbeda yaitu perintah untuk mengunset id user yang dihapus pada baris ke 14. Selanjutnya akan dilakukan perintah implode, kebalikan dari perintah explode. Perintah implode mempunyai kegunaan untuk penyatuan array yang tadi sempat di pisah oleh fungsi explode.

Nah begitulah sistem pertemanan sederhana berbasis php dan javascript. Anda sanggup menyebarkan lebih lanjut dengan menambahkan fitur pendaftaran, notifikasi pertemanan, dan lain sebagainya. Intinya sistem dasar ini sangat fleksibel untuk di kembangkan lebih lanjut.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Author: 
    author
    No related post!