Skip to content

Instantly share code, notes, and snippets.

@AlifArnado
Created July 25, 2016 13:05
Show Gist options
  • Save AlifArnado/0cd747dacf2e69c510dbace4b1136033 to your computer and use it in GitHub Desktop.
Save AlifArnado/0cd747dacf2e69c510dbace4b1136033 to your computer and use it in GitHub Desktop.
OOP_Model_Example
<?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