Created
July 25, 2016 13:05
-
-
Save AlifArnado/0cd747dacf2e69c510dbace4b1136033 to your computer and use it in GitHub Desktop.
OOP_Model_Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class Barang_Model { | |
private $connection; | |
private $offset; | |
private $row_found; | |
public function __construct() { | |
include_once $_SERVER['DOCUMENT_ROOT'] .'/diedieoutlet/config/database.php'; | |
$this->connection = new Data_Source(); | |
} | |
public function insert($sql) { | |
$this->connection->connect(); | |
$status = mysqli_query($this->connection->link, $sql); | |
$this->connection->close(); | |
return $status; | |
} | |
public function delete($sql) { | |
$this->connection->connect(); | |
$query = mysqli_query($this->connection->link, $sql); | |
$this->connection->close(); | |
return $query; | |
} | |
public function fetch_barang_by_id($sql) { | |
$this->connection->connect(); | |
$query = mysqli_query($this->connection->link, $sql); | |
$this->connection->close(); | |
return $query; | |
} | |
public function fetch_all_barang_by_barang_kosong() { | |
$sql = "SELECT | |
* | |
FROM | |
`barang` | |
WHERE | |
`barang`.`stok`=0;"; | |
$this->connection->connect(); | |
$query = mysqli_query($this->connection->link, $sql); | |
$this->connection->close(); | |
return $query; | |
} | |
public function fetch_all_barang_by_barang_laris_kosong() { | |
$sql = "SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`harga`, | |
`barang`.`stok` | |
FROM | |
`detail_pesanan`, `barang` | |
WHERE | |
`detail_pesanan`.`id_barang`=`barang`.`id_barang` | |
AND | |
`barang`.`stok`=0 | |
GROUP BY | |
`barang`.`id_barang`;"; | |
$this->connection->connect(); | |
$query = mysqli_query($this->connection->link, $sql); | |
$this->connection->close(); | |
return $query; | |
} | |
//Masuk naskah | |
public function fetch_all_pelanggan() { | |
$this->connection->connect(); | |
$query = mysqli_query($this->connection->link, "SELECT * FROM barang;"); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
$kategori_query = mysqli_query($this->connection->link, "SELECT * FROM kategori WHERE id_kategori='". $row['id_kategori'] ."';"); | |
$kategori_array = mysqli_fetch_assoc($kategori_query); | |
array_push($row, $kategori_array); | |
$row["kategori"] = $row["0"]; | |
unset($row["0"]); | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
//End | |
//fungsi untuk pegination | |
public function get_all_row_count() { | |
$this->connection->connect(); | |
$sql = "SELECT COUNT(*) AS jumlah_barang FROM `barang`;"; | |
$query = mysqli_query($this->connection->link, $sql); | |
if(mysqli_affected_rows($this->connection->link) > 0) { | |
$result = mysqli_fetch_assoc($query); | |
$this->connection->close(); | |
return $result['jumlah_barang']; | |
} else { | |
$this->connection->close(); | |
return 0; | |
} | |
} | |
//masuk naskah | |
public function create_pagination($crr_page, $total_per_page) { | |
$this->connection->connect(); | |
$this->offset = ($crr_page - 1) * $total_per_page; | |
$query = mysqli_query($this->connection->link, "SELECT * FROM barang LIMIT ". $total_per_page ." OFFSET ". $this->offset .";"); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
$kategori_query = mysqli_query($this->connection->link, "SELECT * FROM `kategori` WHERE id_kategori='". $row['id_kategori'] ."';"); | |
$kategori_array = mysqli_fetch_assoc($kategori_query); | |
array_push($row, $kategori_array); | |
$row["kategori"] = $row["0"]; | |
unset($row["0"]); | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
//end | |
public function create_pagination_with_search($crr_page, $total_per_page, $search_query) { | |
$this->connection->connect(); | |
$this->offset = ($crr_page - 1) * $total_per_page; | |
$query = mysqli_query($this->connection->link, | |
"SELECT * FROM `barang` | |
WHERE `nama_barang` | |
LIKE '%". $search_query ."%' | |
LIMIT ". $total_per_page ." | |
OFFSET ". $this->offset .";" | |
); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
$kategori_query = mysqli_query($this->connection->link, "SELECT * FROM `kategori` WHERE id_kategori='". $row['id_kategori'] ."';"); | |
$kategori_array = mysqli_fetch_assoc($kategori_query); | |
array_push($row, $kategori_array); | |
$row["kategori"] = $row["0"]; | |
unset($row["0"]); | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function create_pagination_with_kategori($crr_page, $total_per_page, $id_kategori) { | |
$this->connection->connect(); | |
$this->offset = ($crr_page - 1) * $total_per_page; | |
$query = mysqli_query($this->connection->link, | |
"SELECT * FROM `barang` | |
WHERE `id_kategori`='". $id_kategori ."' | |
LIMIT ". $total_per_page ." | |
OFFSET ". $this->offset .";" | |
); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
$kategori_query = mysqli_query($this->connection->link, "SELECT * FROM `kategori` WHERE id_kategori='". $row['id_kategori'] ."';"); | |
$kategori_array = mysqli_fetch_assoc($kategori_query); | |
array_push($row, $kategori_array); | |
$row["kategori"] = $row["0"]; | |
unset($row["0"]); | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function create_pagination_terlaris($current_page, $per_halaman) { | |
$this->connection->connect(); | |
$this->offset = ($current_page - 1) * $per_halaman; | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`harga`, | |
`barang`.`foto`, | |
IFNULL(SUM(`detail_pesanan`.`qty`), 0) AS `jumlah_terjual` | |
FROM | |
`barang` | |
LEFT JOIN | |
`detail_pesanan` | |
ON | |
`detail_pesanan`.`id_barang`=`barang`.`id_barang` | |
LEFT JOIN | |
`pesanan` | |
ON | |
`pesanan`.`id_pesanan`=`detail_pesanan`.`id_pesanan` | |
GROUP BY | |
`barang`.`id_barang` | |
ORDER BY | |
`jumlah_terjual` | |
DESC | |
LIMIT | |
$per_halaman | |
OFFSET | |
". $this->offset .";"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function create_pagination_tidak_laris($current_page, $per_halaman) { | |
$this->connection->connect(); | |
$this->offset = ($current_page - 1) * $per_halaman; | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`foto`, | |
`barang`.`harga` | |
FROM | |
`barang`, `detail_pesanan` | |
WHERE | |
`detail_pesanan`.`id_barang`!=`barang`.`id_barang` | |
GROUP BY | |
`barang`.`id_barang` | |
ORDER BY | |
`barang`.`nama_barang` | |
ASC | |
LIMIT | |
$per_halaman | |
OFFSET | |
". $this->offset .";"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function create_pagination_termurah($current_page, $per_halaman) { | |
$this->connection->connect(); | |
$this->offset = ($current_page - 1) * $per_halaman; | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`foto`, | |
`barang`.`harga` | |
FROM | |
`barang` | |
ORDER BY | |
`barang`.`harga` | |
ASC | |
LIMIT | |
$per_halaman | |
OFFSET | |
". $this->offset .";"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function create_pagination_termahal($current_page, $per_halaman) { | |
$this->connection->connect(); | |
$this->offset = ($current_page - 1) * $per_halaman; | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`foto`, | |
`barang`.`harga` | |
FROM | |
`barang` | |
ORDER BY | |
`barang`.`harga` | |
DESC | |
LIMIT | |
$per_halaman | |
OFFSET | |
". $this->offset .";"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function get_create_pagination_with_search($search_query) { | |
$this->connection->connect(); | |
$this->offset = ($crr_page - 1) * $total_per_page; | |
$query = mysqli_query($this->connection->link, | |
"SELECT * FROM `barang` | |
WHERE `nama_barang` | |
LIKE '%". $search_query ."%';" | |
); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
$kategori_query = mysqli_query($this->connection->link, "SELECT * FROM `kategori` WHERE id_kategori='". $row['id_kategori'] ."';"); | |
$kategori_array = mysqli_fetch_assoc($kategori_query); | |
array_push($row, $kategori_array); | |
$row["kategori"] = $row["0"]; | |
unset($row["0"]); | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function get_create_pagination_with_kategori($id_kategori) { | |
$this->connection->connect(); | |
$query = mysqli_query($this->connection->link, | |
"SELECT * FROM `barang` | |
WHERE `id_kategori`='". $id_kategori ."';" | |
); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
$kategori_query = mysqli_query($this->connection->link, "SELECT * FROM `kategori` WHERE id_kategori='". $row['id_kategori'] ."';"); | |
$kategori_array = mysqli_fetch_assoc($kategori_query); | |
array_push($row, $kategori_array); | |
$row["kategori"] = $row["0"]; | |
unset($row["0"]); | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function get_create_pagination_terlaris() { | |
$this->connection->connect(); | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`harga`, | |
IFNULL(SUM(`detail_pesanan`.`qty`), 0) AS `jumlah_terjual` | |
FROM | |
`barang` | |
LEFT JOIN | |
`detail_pesanan` | |
ON | |
`detail_pesanan`.`id_barang`=`barang`.`id_barang` | |
LEFT JOIN | |
`pesanan` | |
ON | |
`pesanan`.`id_pesanan`=`detail_pesanan`.`id_pesanan` | |
GROUP BY | |
`barang`.`id_barang` | |
ORDER BY | |
`jumlah_terjual` | |
DESC;"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function get_create_pagination_tidak_laris() { | |
$this->connection->connect(); | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`foto`, | |
`barang`.`harga` | |
FROM | |
`barang`, `detail_pesanan` | |
WHERE | |
`detail_pesanan`.`id_barang`!=`barang`.`id_barang` | |
GROUP BY | |
`barang`.`id_barang` | |
ORDER BY | |
`barang`.`nama_barang` | |
ASC;"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function get_create_pagination_termurah() { | |
$this->connection->connect(); | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`foto`, | |
`barang`.`harga` | |
FROM | |
`barang` | |
ORDER BY | |
`barang`.`harga` | |
ASC;"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function get_create_pagination_termahal() { | |
$this->connection->connect(); | |
$sql = | |
"SELECT | |
`barang`.`id_barang`, | |
`barang`.`nama_barang`, | |
`barang`.`foto`, | |
`barang`.`harga` | |
FROM | |
`barang`, `detail_pesanan` | |
WHERE | |
`detail_pesanan`.`id_barang`!=`barang`.`id_barang` | |
GROUP BY | |
`barang`.`id_barang` | |
ORDER BY | |
`barang`.`harga` | |
DESC;"; | |
$query = mysqli_query($this->connection->link, $sql); | |
$data = array(); | |
for(; $row = mysqli_fetch_assoc($query);) { | |
array_push($data, $row); | |
} | |
$this->connection->close(); | |
return $data; | |
} | |
public function get_all_row_found() { | |
return $this->row_found; | |
} | |
public function get_offset() { | |
return $this->offset; | |
} | |
} | |
?> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment