Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
hapus menggunakan oop php gagal terus
(untuk gambar memang belum baru teks saja)
<?php
include 'model/database.php';
$db = new database();
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function del_id(id)
{
if(confirm('yakin dihapus?'))
{
window.location='php/produk/hapus.php?delete_id='+id
}
}
function edit_id(id)
{
if(confirm('yakin di edit?'))
{
window.location='php/produk/edit.php?edit_id='+id
}
}
</script>
</head>
<body>
<h1>DATA PRODUK</h1>
<table border="1">
<tr>
<td>no</td>
<td>id produk</td>
<td>nama produk</td>
<td>kategori</td>
<td>gambar</td>
<td>harga</td>
<td>edit</td>
<td>hapus</td>
</tr>
<?php
$no=1;
foreach($db->tampil_produk() as $x){
?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo $x['id_produk'];?></td>
<td><?php echo $x['nama_produk'];?></td>
<td><?php echo $x['kategori'];?></td>
<td><?php echo $x['gambar'];?></td>
<td><?php echo $x['harga'];?></td>
<td><a href="javascript:edit_id(<?php echo$x['id_produk']; ?>)">edit</a></td>
<td><a href="javascript:del_id(<?php echo$x['id_produk']; ?>)">hapus</a></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
<?php
include_once '../../model/database.php';
$con = new database();
$table = "produk";
if(isset($_GET['delete_id']))
{
$id=$_GET['delete_id'];
$res=$con->delete($table,$id);
if($res)
{
?>
<script>
alert('terhapus')
window.location='../../index.php'
</script>
<?php
}
else
{
?>
<script>
alert('gagal dihapus')
window.location='../../index.php'
</script>
<?php
}
}
?>
<?php
class database{
var $host = "localhost";
var $uname = "root";
var $pass = "";
var $db = "tugas22518";
var $koneksi='';
function __construct(){
$this->koneksi = mysqli_connect($this->host, $this->uname, $this->pass);
mysqli_select_db($this->koneksi,$this->db);
}
function tampil_produk(){
$sql = mysqli_query($this->koneksi,"SELECT * FROM produk");
while($d = mysqli_fetch_array($sql)){
$hasil[] = $d;
}
return $hasil;
}
public function delete($table,$id)
{
$res = mysql_query("DELETE FROM $table WHERE id_produk=".$id);
return $res;
}
public function update($table,$id,$namaprod,$kateg,$gambar,$harga)
{
$res = mysql_query("UPDATE $table SET nama_produk='$namaprod', id_kategori='$kateg', gambar='$gambar', harga='$harga' WHERE id_produk=".$id);
return $res;
}
}
?>
4 Jawaban:
Agan salah di Class database nya, hrsny begini
class database { // gak pake var
Private $host = "localhost",
$uname = "root",
$pass = "",
$db = "tugas22518";
Public $koneksi='';
Public function __construct(){
$this->koneksi = mysqli_connect($this->host, $this->uname, $this->pass, $this->db);
}
}
semoga membantu ^^
Jawaban Terpilih
<?php
class database{
var $host = "localhost";
var $uname = "root";
var $pass = "";
var $db = "tugas22518";
var $koneksi='';
function __construct(){
$this->koneksi = mysqli_connect($this->host, $this->uname, $this->pass);
mysqli_select_db($this->koneksi,$this->db);
}
function tampil_produk(){
$sql = mysqli_query($this->koneksi,"SELECT * FROM produk");
while($d = mysqli_fetch_array($sql)){
$hasil[] = $d;
}
return $hasil;
}
public function delete($table,$id)
{
$res = mysqli_query($this->koneksi,"DELETE FROM $table WHERE id_produk=".$id);
return $res;
}
public function update($table,$id,$namaprod,$kateg,$gambar,$harga)
{
$res = mysqli_query($this->koneksi,"UPDATE $table SET nama_produk='$namaprod', id_kategori='$kateg', gambar='$gambar', harga='$harga' WHERE id_produk=".$id);
return $res;
}
}
?>
Di function delete coba perhatikan lagi.
public function delete($table,$id)
{
$res = mysql_query("DELETE FROM $table WHERE id_produk=".$id);
return $res;
}
mysql_query butuh 2 parameter, parameter 1 koneksinya yang ke dua baru querynya. Jadi dibuat seperti ini
//bla bla bla
$res = mysql_query($this->koneksi, "DELETE FROM $table WHERE id_produk=".$id
Kode di atas juga masih salah alias belum bisa buat hapus. Kenapa coba ? Karena $table masih bukam diangaap variabel oleh php, karena dia ada di dalam "" . Sehingga dibuat lagi menjadi Kalau tetep mau pakai double quote bisa di kasih braces atau kurung di variabelnya.seperti di bawah ini
//bla bla bla
$res = mysql_query($this->koneksi, "DELETE FROM {$table} WHERE id_produk=".$id
Kalau mau pakai single quote
//bla bla bla
$res = mysql_query($this->koneksi, 'DELETE FROM '.$table.' WHERE id_produk='.$id
CMIIW