CRUD Sederhana PHP dan SQL Server

Selamat pagi, selamat menikmati sabtu pagi....

kali ini saya akan sharing cara membuat aplikasi crud sederhana denga PHP dan SQL Server Database, umumnya kita lebih sering menggunakan MySQL ketika kita membuat web dengan PHP.

Ok langsung saja

pertama kita buat database dulu di SQL Servernya, disini saya buat database dengan nama EXAM dan saya punya sebuah table dengan nama barang seperti berikut :

 



 
Selanjutnya kita setting di php nya agar kita bisa konek ke SQL Server, disini saya menggunakan PHP versi 5.3.8



Selanjutnya kita butuh library agar bisa mengakses SQL Server dengan php yaitu :
php_pdo_sqlsrv_53_ts.dll jika kita menggunakan PDO dan php_sqlsrv_53_ts jika kita tidak menggunakan PDO, jika teman2 tidak punya filenya bisa di download DISINI,

jika sudah didownload ekstrak filenya dan copy ke folder xampp/php/ext, setelah itu buka file php.ini yang ada di folder xampp/php lalu panggil library yang sudah kita tambahkan ke folder ext tadi dengan menuliskan source code seperti berikut :



dibagian extension kita tambahkan seperti diatas, lalu restart service apache pada xampp teman2, jika sudah kita buat folder baru didalam folder htdocs dengan nama crud-sqlsrv atau terserah teman2 bebas untuk nama foldernya. 

berikut isi dari file koneksi.php

<?php
$serverName="DESKTOP-EA2V86B";
$uid = "sa";
$pwd = "Admin12345";
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>"EXAM",
"CharacterSet"=>"UTF-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if($conn){
echo "Koneksi Berhasil";
}else{
echo "koneksi gagal";
}
?>

kita coba jalankan localhost/crud-sqlsrv/koneksi.php jika muncul seperti berikut maka kita sudah berhasil konek ke database SQL Server


kita tambahkan 2 folder baru lagi didalam project kita yaitu folder css dan js, disini kita akan menggunakan bootstrap dan jquery, silahkan teman2 download dulu bootsrap dan jquerynya jika sudah kita buat file index.php dan tuliskan source code seperti berikut :

index.php

<!DOCTYPE html>
<html>
<head>
    <title>CRUD PHP - SQL Server</title>
    <link rel="stylesheet" href="css/bootstrap.css" />
</head>
<body>  
    <div class="container mt-3">
        <div class="row">
            <div class="col-sm-12">
                <button type="button"  
class="btn btn-primary btnTambahData" data-toggle="modal"  
data-target="#exampleModal" data-zurl="">
                    Tambah Barang
                </button>
                <h1>Data Barang</h1>
                <table class="table table-stripped">
                    <thead>
                        <tr>
                            <th scope="col">Nama</th>
                            <th scope="col">Nama Barang</th>
                            <th scope="col">Satuan</th>
                            <th scope="col" width="200px">Action</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                        include "koneksi.php";
                        $conn = sqlsrv_connect( $serverName, $connectionInfo);

                        $tsql = "Select * From barang";
                        $stmt = sqlsrv_query( $conn, $tsql);

                        do {
                  while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {                                  
                                ?>
                                <tr>
                                    <td><?= $row['kodebarang'];?></td>
                                    <td><?= $row['namabarang'];?></td>
                                    <td><?= $row['satuan'];?></td>
                                    <td>
     <a href="" class="badge badge-primary badge-pill tampilModalUbah"  
data-toggle="modal" data-target="#exampleModal"  
data-id="<?= $row['kodebarang'];?>" data-zurl="">Edit</a>
   <a href="hapus.php?kodebarang=<?= $row['kodebarang']; ?>"  
class="badge badge-primary badge-pill" 
 onclick="return confirm('Hapus data?');">Hapus</a>
                                    </td>
                                </tr>
                                <?php
                            }
                        } while ( sqlsrv_next_result($stmt) );
                        ?>
                    </tbody>
                </table>        
            </div>
        </div>
    </div>

    <!-- Modal -->
    <div class="modal fade" id="exampleModal" tabindex="-1"  
role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Tambah Barang</h5>
                    <button type="button" class="close" 
 data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <form action="simpan.php" method="POST"  
enctype="multipart/form-data">
                        <div class="form-group">
                            <label for="kodebarang">Kode Barang</label>
                            <input type="text" name="kodebarang"  
id="kodebarang" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="namabarang">Nama Barang</label>
                            <input type="text" name="namabarang"  
id="namabarang" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="satuan">Satuan</label>
                            <select name="satuan" id="satuan" 
 class="form-control" required="true">
                                <option>-- Pilih Satuan--</option>
                                <option value="PC">Piece</option>
                                <option value="KG">Kilo Gram</option>
                                <option value="M">Meter</option>
                            </select>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary"  
data-dismiss="modal">Close</button>
                        <button type="submit"  
class="btn btn-primary">Simpan</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <script src="js/jquery-3.2.1.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>

    <script type="text/javascript">
        $(function(){

     $('.btnTambahData').on('click', function(){
     $('#exampleModalLabel').html('Tambah Data Barang');
     $('.modal-footer button[type=submit]').html('Simpan');
     $('.modal-body form').attr('action', 'simpan.php');
     });

     $('.tampilModalUbah').on('click', function(){
     $('#exampleModalLabel').html('Ubah Data Baranng');
     $('.modal-footer button[type=submit]').html('Ubah Data');
     $('.modal-body form').attr('action', 'update.php');

     const kodebarang = $(this).data('id');
     $.ajax({
     url: 'getdata.php',
     data: {kodebarang : kodebarang},
     method: 'post',
     dataType: 'json',
     success: function(data){
     // alert(data[0].kodebarang);
     $('#kodebarang').val(data[0].kodebarang);
     $('#namabarang').val(data[0].namabarang);
     $('#satuan').val(data[0].satuan);
     }
     });
     });

    })
    </script>
</body>
</html>


setelah itu kita tambahkan file simpan.php seperti berikut :

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_POST['kodebarang'];
$namabarang = $_POST['namabarang'];
$satuan = $_POST['satuan'];

$tsql = "Insert into barang values('$kodebarang','$namabarang','$satuan')";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

header('location:index.php');

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);


getdata.php -> untuk mengambil data yang akan di edit

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_POST['kodebarang'];

$tsql = "Select * From barang where kodebarang = '$kodebarang'";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

$json = array();

do {
    while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
        $json[] = $row;
    }
} while ( sqlsrv_next_result($stmt) );

echo json_encode($json);

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);

?>


update.php

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_POST['kodebarang'];
$namabarang = $_POST['namabarang'];
$satuan = $_POST['satuan'];

$tsql = "Update barang set namabarang ='$namabarang', 
satuan = '$satuan' where kodebarang = '$kodebarang'";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

header('location:index.php');

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);

 hapus.php

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_GET['kodebarang'];

$tsql = "Delete barang where kodebarang = '$kodebarang'";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

header('location:index.php');

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);


jika sudah semua ditambahkan seperti diatas, silahkan coba melakukan proses CRUD, berikut tampilan aplikasinya :

tampilan awal


tampilan Tambah Barang





Edit 

 




 hapus data


dan data sudah di hapus

 



Sekian semoga bermanfaat :D

Comments

  1. terimakasih gan, sangat mudah dipelajari

    muwafiq

    ReplyDelete
    Replies
    1. sama2 gan, terimakasih sudah mampir gan :D

      Delete
    2. Untuk Script getdata.php
      saya coba gak jalan kenapa ya?
      jadi pas edit, gak tampil data yang mau di edit..
      thanks ya

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. sangat sangat bermanfaat kak....tingkatkan lagi ilmu nya kak biar bisa berbagi ilmu dengan kami....
    saya ESA DHEA mahasiswi stmik atma luhur
    kunjungi akun kami kak http://www.atmaluhur.ac.id

    ReplyDelete
  4. Artikel yang sangat membantu dalam perkembangan saya dalam memahami tentang Php. Perkenalkan nama saya Muhamad Asfarezhan, nim saya 1922500056 Dari ISB Atma Luhur Kota pangkalpinang. Jika kakak penasaran tentang kampus saya, Kakak dapat mengunjungi situs webnya yaitu https://www.atmaluhur.ac.id Terimakasih. Terus berkarya terus ya

    ReplyDelete
  5. boleh minta contoh crud php 7 database sql server. trims

    ReplyDelete

Post a Comment

Popular posts from this blog

IT Asset Management Dengan PHP MySQL

PHP MySql CRUD Dengan Konsep MVC

Cara Sederhana Multi Insert Data Dengan PHP - MySQL