loreng

proses

Apr 23rd, 2019
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.95 KB | None | 0 0
  1. public function doCreateTransaksiNEW($kode_transaksi,$id_peminjam,$isbn,$batas_ambil,$tanggal_pinjam,$tanggal_kembali,$status)
  2.     {
  3.  
  4. #####################
  5. # MAKE TOKEN RANDOM #
  6. #####################
  7.  
  8.         $token = random_token(5);
  9.  
  10. #########
  11. # QUERY #
  12. #########
  13.  
  14.         // CHECKING TRANSAKSI BERJALAN!
  15.  
  16.         $CTB = $this->conn->prepare("
  17.             SELECT *
  18.             FROM tbl_transaksi
  19.             WHERE id_peminjam =:id_peminjam AND status=:stat_1 OR id_peminjam =:id_peminjam AND status=:stat_2");
  20.         $CTB->execute(array(
  21.             ':id_peminjam'=>$id_peminjam,
  22.             ':stat_1'=>'wishlist',
  23.             ':stat_2'=>'proses'
  24.         ));
  25.         $h_CTB = $CTB->fetch(PDO::FETCH_ASSOC);
  26.         if($h_CTB > 0)
  27.         {
  28.             $message = "Gagal Melakukan Transaksi : Anda Sedang Melakukan Transaksi!";
  29.  
  30.             return $message;
  31.         }
  32.  
  33.         $queryText = "INSERT INTO tbl_transaksi(kode_transaksi,id_peminjam,isbn,batas_ambil,tanggal_pinjam,tanggal_kembali,token,status) VALUES('$kode_transaksi',$id_peminjam, ";
  34.         $queryBack = ",'$batas_ambil','$tanggal_pinjam','$tanggal_kembali','$token','$status')";
  35.         $countArray = count(array_filter($isbn));
  36.         $deleteQuery = "DELETE FROM keranjang WHERE (id_peminjam,isbn) IN (";
  37.  
  38.  
  39.         // CHECKING STOCK OF BOOK IN LIB
  40.         for ($i=0; $i < $countArray ; $i++) {
  41.             $queryCB = $this->conn->prepare("SELECT * FROM tbl_buku WHERE isbn='" . $isbn[$i] . "'");
  42.             $queryCB->execute();
  43.             $bookONE = $queryCB->fetch(PDO::FETCH_ASSOC);
  44.             $jumlah = $bookONE['stock'];
  45.             $dipinjam = $bookONE['dipinjam'];
  46.             $dapatD = $jumlah - $dipinjam;
  47.             if($dapatD <= 1)
  48.             {
  49.                 $message = 'Gagal Melakukan Transaksi : Mohon Maaf Buku Anda Yang Berjudul "'. $bookONE['nama_buku'] .'" Tidak dapat Dipinjam. Dikarenakan Stock Pada Perpustakaan Tidak Ada. Mohon Maaf Atas Ketidak Nyamanannya!';
  50.                 return $message;
  51.             }
  52.             else
  53.             {
  54.                 $queryUB = "UPDATE tbl_buku SET dipinjam = dipinjam + 1 WHERE isbn='$isbn[$i]'";
  55.                 $queryUBB = $this->conn->prepare($queryUB);
  56.                 $queryUBB->execute();
  57.             }
  58.         }
  59. #$$$$$$$$$$$$$$#
  60. # POWER OF LIFE#
  61. ################
  62.             for($i=0; $i < $countArray; $i++)
  63.             {
  64.                 $del[$i] = "('$id_peminjam','" . $isbn[$i] . "')";
  65.             }
  66. ################
  67. # COUNT ARRAY #
  68. ###############
  69.        
  70.         if($countArray == 1)
  71.         {
  72.             $query = $queryText ."'" . $isbn[0] .",'" . $queryBack;
  73.             $query_2 = $deleteQuery . $del[0] .')';
  74.         }
  75.         else if($countArray == 2)
  76.         {
  77.             $query = $queryText ."'" . $isbn[0] . ',' .$isbn[1] .",'" . $queryBack;
  78.             $query_2 = $deleteQuery . $del[0] . ',' . $del[1] .')';
  79.         }
  80.         else if($countArray == 3)
  81.         {
  82.             $query = $queryText ."'" . $isbn[0] . ',' . $isbn[1]  . ',' . $isbn[2] .",'" . $queryBack;
  83.             $query_2 = $deleteQuery . $del[0] . ',' . $del[1] . ',' . $del[2] .')';
  84.         }
  85.         else
  86.         {
  87.             $message ="Jumlah Judul Hanya Boleh 1-3!";
  88.             return $message;
  89.         }
  90.  
  91. ###########
  92. # PROSESS #
  93. ###########
  94.         $proses = $this->conn->prepare($query);    
  95.         $proses_2 = $this->conn->prepare($query_2);
  96.         $proses->execute();                                            
  97.         $proses_2->execute();
  98.  
  99.         return true;
  100.     }
Advertisement
Add Comment
Please, Sign In to add comment