Diskon 80% terbatas! Masukkan kupon "merdeka" di kelas apa saja

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;
	}

}


 ?>
avatar ddika990
@ddika990

14 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

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 ^^

avatar BroGoeh
@BroGoeh

121 Kontribusi 47 Poin

Dipost 7 tahun yang lalu

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;
	}

}


 ?>
avatar stefanuspn
@stefanuspn

250 Kontribusi 69 Poin

Dipost 7 tahun yang lalu

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

avatar markeronly
@markeronly

378 Kontribusi 230 Poin

Dipost 7 tahun yang lalu

terima kasih banyak gan atas bantuannya

avatar ddika990
@ddika990

14 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban