Jumat, 01 Mei 2020

Contoh Program PHP CRUD Image ( Gambar )

CRUD Image ( Create , Update, Delete Image) merupakan hal penting yang harus kita ketahui dalam membangun sebuah sistem. Biasanya digunakan untuk menambahkan foto akun dan lain sebagainya.
Biasanya kita akan kesulitan apabila kita akan mengubah data foto tersebut, berikut ini adalah source code yang biasa saya gunakan untuk mengubah Image dalam PHP :

  • Pastikan Database dan koneksi sudah siap, kita akan menambahkan fitur create atau tambah : 
<?
if($_POST[Submit])
{
$sql=mysql_query("INSERT INTO data_rumah VALUES ('$_POST[id_rumah]', '$_POST[jenis_rumah]', '$_POST[type_rumah]', '$_POST[harga_rumah]','".$_FILES[gambar_rumah]['name']."', '$_POST[keterangan_rumah]','$_POST[status_rumah]')
") or die("salah");

if($sql=='true')
{
  
    $file_name=$_FILES['gambar_rumah']['name'];
$file_name=stripslashes($file_name);
$file_name=str_replace("'","",$file_name);
copy($_FILES['gambar_rumah']['tmp_name'],"img/".$file_name);
  
echo"<script>alert('Data Berhasil Disimpan!');window.location.href='?page=data_rumah';</script>";
}
}
?>


 Yang harus kita perhatikan adalah tulisan berwarna merah dan kuning, kita sesuaikan dengan yang terdapat pada database kita. kemudian tulisan warna kuning menunjukkan untuk file dimana kita akan mengambil foto.

kemudian pada field input kita buat seperti ini :

<div class="form-group has-success has-feedback">
                          <label class="control-label" for="inputSuccess2">Gambar</label>
                          <input type="file" name="gambar_rumah" required oninvalid ="this.setCustomValidity('Data tidak boleh kosong')" oninput="setCustomValidity('')">
                        </div>

 
 untuk nama label kita samakan saja, biar tidak bingung.
  • Fitur Update atau ubah :
 <?
include("../koneksi.php");

if($_POST[Submit])
{
    $file_name=$_FILES['gambar_rumah']['name'];
$file_name=stripslashes($file_name);
$file_name=str_replace("'","",$file_name);
copy($_FILES['gambar_rumah']['tmp_name'],"img/".$file_name);
  
   if($file_name != ""){
      
$sql=mysql_query("update data_rumah set kategori_rumah='$_POST[kategori_rumah]', type_rumah='$_POST[type_rumah]', harga_rumah='$_POST[harga_rumah]',
gambar_rumah='".$_FILES[gambar_rumah]['name']."', keterangan_rumah='$_POST[keterangan_rumah]', status_rumah='$_POST[status_rumah]' where id_rumah='$_GET[id_rumah]'")
or die("salah");

echo"<script>alert('Data Berhasil Diubah!');window.location.href='?page=data_rumah';</script>";
   } else{
       $sql=mysql_query("update data_rumah set kategori_rumah='$_POST[kategori_rumah]', type_rumah='$_POST[type_rumah]', harga_rumah='$_POST[harga_rumah]',
lokasi_rumah='$_POST[lokasi_rumah]',keterangan_rumah='$_POST[keterangan_rumah]', status_rumah='$_POST[status_rumah]' where id_rumah='$_GET[id_rumah]'")
or die("salah");
      
       echo"<script>alert('Data Berhasil Diubah!');window.location.href='?page=data_rumah';</script>";
   }
}
   
$sql7=mysql_query("select * from data_rumah where id_rumah='$_GET[id_rumah]'") or die ("perintah query salah");
$data7=mysql_fetch_array($sql7);
?>

<div class="panel panel-primary">           
                           <div class="panel-heading"><h4>Data Rumah</h4></div>
                              <div class="panel-body " align="justify">
                              <!-- isi buka -->
                              <div class="col-md-3">
                              </div>
                              <div class="col-md-6">
                             
                           <form method="post" enctype="multipart/form-data" >
                                   
                        <div class="form-group has-success has-feedback">
                          <label class="control-label" for="inputSuccess2">Kategori Rumah</label>
                          <input type="text" class="form-control" id="inputSuccess2" name="kategori_rumah" value="<?=$data7[kategori_rumah]?>">
                        </div>
                       
                        <div class="form-group has-success has-feedback">
                          <label class="control-label" for="inputSuccess2">Type</label>
                          <input type="text" class="form-control" id="inputSuccess2" name="type_rumah" value="<?=$data7[type_rumah]?>">
                        </div>
                       
                        <div class="form-group has-success has-feedback">
                          <label class="control-label" for="inputSuccess2">Harga</label>
                          <input type="text" class="form-control" id="inputSuccess2" name="harga_rumah" value="<?=$data7[harga_rumah]?>">
                        </div>
                                                                   
                        <div class="form-group has-success has-feedback">
                          <label class="control-label" for="inputSuccess2">Gambar</label><br>
                          <img src="../img/<?=$data7[gambar_rumah]?>" width="500px" height="340px"></img>
                          <input type="file" name="gambar_rumah" <?=$data7[gambar_rumah]?>>
                        </div>
                       
                        <div class="form-group has-success has-feedback">
                          <label class="control-label" for="inputSuccess2">Keterangan</label>
                          <textarea type="text" class="form-control" id="inputSuccess2" name="keterangan_rumah"><?=$data7[keterangan_rumah]?></textarea>
                        </div>
                       
                        <div class="form-group has-success has-feedback">
                          <label class="control-label" for="inputSuccess2">Status</label>
                          <select  class="form-control" id="inputSuccess2" name="status_rumah" >
                           <option><?=$data7[status_rumah]?></option>
                           <option>Dipesan</option>
                          <option>Belum Dipesan</option></select>
                        </div>
                       
                                               
                        <div class="form-group has-success has-feedback">
                          <input type="submit" class="btn btn-primary" name="Submit" value="Simpan">
                          <button type="button" class="btn btn-default navbar-btn" onclick="window.location='utama.php?page=data_rumah';"> Batal </button>
                        </div>
                       
                        </form>
                        </div>
                        <div class="col-md-4">
                              </div>
                   <!-- isi tutup -->
                        </div>
                        </div>


Untuk Edit kita buat logika sederhana :


    $file_name=$_FILES['gambar_rumah']['name'];
$file_name=stripslashes($file_name);
$file_name=str_replace("'","",$file_name);
copy($_FILES['gambar_rumah']['tmp_name'],"img/".$file_name);
  
   if($file_name != ""){
      
$sql=mysql_query("update data_rumah set kategori_rumah='$_POST[kategori_rumah]', type_rumah='$_POST[type_rumah]', harga_rumah='$_POST[harga_rumah]',
gambar_rumah='".$_FILES[gambar_rumah]['name']."', keterangan_rumah='$_POST[keterangan_rumah]', status_rumah='$_POST[status_rumah]' where id_rumah='$_GET[id_rumah]'")
or die("salah");

echo"<script>alert('Data Berhasil Diubah!');window.location.href='?page=data_rumah';</script>";
   } else{
       $sql=mysql_query("update data_rumah set kategori_rumah='$_POST[kategori_rumah]', type_rumah='$_POST[type_rumah]', harga_rumah='$_POST[harga_rumah]',
lokasi_rumah='$_POST[lokasi_rumah]',keterangan_rumah='$_POST[keterangan_rumah]', status_rumah='$_POST[status_rumah]' where id_rumah='$_GET[id_rumah]'")
or die("salah");
      
       echo"<script>alert('Data Berhasil Diubah!');window.location.href='?page=data_rumah';</script>";
   }
}


Jika gambar kosong maka Kita tambahkan dan jika gambar ada kita tidak tambahkan ( Lihat IF ).

  • Fitur Delete :
<?
include"../koneksi.php";
$sql=mysql_query("delete from data_rumah where id_rumah='$_GET[id_rumah]'");
if($sql)
{header("location:utama.php?page=data_rumah");}
?>    



Fitur delete seperti biasa.

Terima Kasih Semoga bisa membantu, maaf kalau penjelasan kurang bagus. 

Tidak ada komentar:

Posting Komentar