2 Tabel PHP & MySQL

Database & Tabel


datakelas
Isi
datasiswa

------------------------------------------------------------------------------------------------------------------------------------------------

Index.php

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Poppins&family=Silkscreen&display=swap" rel="stylesheet">
    <title>PHP FINAL</title>
</head>

<body>
    <div>
        <center>
            <h1>PHP Final</h1>
        </center>
    </div>
    <a href="index.php?page=data">Tampil Data</a>
    |
    <a href="index.php?page=tambah">Tambah Data</a>
    <div style="height: 100%; width: 100%;">
            <?php
    if (isset($_GET['page'])) {
        $page = $_GET['page'];
        switch ($page) {
            case 'data':
                include "data.php";
                break;
            case 'edit':
                include "edit.php";
                break;
            case 'tambah':
                include "tambah.php";
                break;
            case 'cari':
                include "cari.php";
                break;
            default:
                echo "<h1 style='padding: 20%; color: red;'>😫 Maaf halaman yang anda tuju tidak ada</h1>";
                break;
        }
    }
    ?>
    </div>
</body>

</html>

data.php

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div style="overflow-x:auto; width: 100%;">
<!-- Search bar -->
<?php
        require "koneksi.php";
        $user = query("SELECT * FROM datasiswa1,datakelas where datasiswa1.id_kelas= datakelas.id_kelas ORDER BY id DESC");
        error_reporting(0);

        // Tombol cari ditekan
        if(isset($_POST["cari"])) {
            $user = cari($_POST["keyword"]);
            $search = $_POST['keyword'];
        } else {
           
        }
        ?>
        <br>
<div>
  <div>
    <form action="" method="post">
      <input type="text" name="keyword" placeholder="Cari keyword...." size="40"
      autocomplete="off" autofocus>
      <button type="submit" name="cari"><i class="fa fa-search"></i></button>
    </form>
  </div>
</div>
<p>
<?php
    if($search) {
        echo "Anda mencari : $search";
    } else {
        echo "<p style='color: red;'>Data tidak ditemukan</p>";
    }
 ?>
 </p>
<!-- Search bar End -->
<!--awal table-->
<table border="1" cellpadding="10" cellspacing="0">
    <!--awal header table-->
    <tr align="center">
    <th>No</th>
        <!-- <th>ID Siswa</th> -->
        <th width='13%' >Gambar</th>
        <th>Nama</th>
        <th>Jenis Kelamin</th>
        <th>Kelas</th>
        <th>Hobi</td>
        <th>Aksi</th>
    </tr>
    <!--akhir header table-->
    <?php $i = 1; ?>
        <?php foreach( $user as $row ) : ?>
        <!--awal menampilkan data dari tabel buku ke halaman web-->
        <tr align="center">
            <td> <?php echo $i ?></td>
            <td> <img src="img/<?php echo $row['gambar'];?>" width='100%' alt="Ini Foto"></td>
            <td> <?php echo $row['nama'] ?></td>
            <td> <?php echo $row['jenis_kel']?></td>
            <td> <?php echo $row['kelas']?></td>
            <td> <?php echo $row['hobi']?></td>
            <td align="center">
                <a href="index.php?page=edit&id=<?php echo $row['id'];?>">
                    Edit
                </a>
                |
                <a href="delete.php?id=<?php echo $row['id'];?>" onclick="return confirm('Apa Anda yakin akan menghapus Data Akun?')">
                    Delete
                </a>
            </td>
        </tr>
        <?php $i++; ?>
        <?php endforeach; ?>
        <!--akhir menampilkan data dari tabel buku ke halaman web-->
</table>
<!--akhir table-->
</div>

delete.php

<?php
    //koneksikan dengan database
    include "koneksi.php";

    //ambil idsiswa yang akan dihapus sebagai referensi
    $idsiswa=$_GET['id'];

    //query untuk menghapus data siswa
    mysqli_query($sambung,"delete from datasiswa1 where id='$idsiswa'");

    //arahkan ke halaman data siswa setelah menghapus 1 data siswa
    echo "<script>
            alert('Data berhasil dihapus!');
            document.location.href = 'index.php?page=data';
        </script>";
?>


edit.php

<?php
require "koneksi.php";
if(isset($_POST["submit"])) {
  $id = $_POST['id'];
  $nama = $_POST['nama'];
  $jeniskel = $_POST['jenis_kel'];
  $kelas = $_POST['id_kelas'];
  $hobi  = implode(', ', $_POST['hobi']);
  $sql = mysqli_query ($koneksi, "UPDATE datasiswa1 SET nama = '$nama', jenis_kel = '$jeniskel', id_kelas = '$kelas', hobi = '$hobi' WHERE id = '$id' ");
  echo "<script>
            alert('Data berhasil diubah!');
            document.location.href = 'index.php?page=data';
        </script>";
}

  $id = $_GET['id'];
  $query_tampil = mysqli_query ($koneksi, "SELECT * FROM datasiswa1 WHERE id = '$id' ");
 
  $edit = mysqli_fetch_array($query_tampil);

  $checked = explode(', ', $edit['hobi']);
 
  $query = mysqli_query($koneksi, "SELECT * FROM datasiswa1 ORDER BY id DESC");

?>
<?php

if (isset($_POST['submit'])) {

  if (edit($_POST)>0){
   
  } else {
    echo "<script>
              alert('Data gagal diubah!');
              document.location.href = 'index.php?page=data';
          </script>";
    return false;
  }

}
$id = $_GET['id'];
$ambildata = mysqli_query($koneksi, "select * from datasiswa1 where id = $id");
while ($tampildata = mysqli_fetch_array($ambildata)) {

    ?>

<h1 style="color: #212121">
    <center>📝 EDIT DATA 📝</center>
</h1>
<hr>
<div class="container" style="margin-top: -5px;">
  <form action="" method="post" enctype="multipart/form-data">
    <div class="row">
      <div class="col-25">
        <label for="fname">ID Siswa</label>
      </div>
      <div class="col-75">
        <input type="text" name="id" value="<?php echo $tampildata['id'] ?>" readonly>
      </div>
    </div>
    <hr>
    <div class="row">
      <div class="col-25">
        <label for="lname">Nama</label>
      </div>
      <div class="col-75">
        <input type="text" name="nama" value="<?php echo $tampildata['nama'] ?>" autocomplete="off">
      </div>
    </div>
    <hr>
    <input type="hidden" name="id" value="<?php echo $tampildata["id"]?>"/>
    <div class="row">
  <div class="col-25">
  <label for="lname">Jenis Kelamin</label>
  </div>
  <div class="col-75">
  <div class="wrapper">
 <input type="radio" name="jenis_kel" value="Pria" id="option-1" <?php
            if($tampildata["jenis_kel"]=='Pria'){
                echo "checked";
            }
            ?>/>Pria
 <input type="radio" name="jenis_kel" value="Wanita" id="option-2" <?php
            if($tampildata["jenis_kel"]=='Wanita'){
                echo "checked";
            }
            ?>/>Wanita
   <label for="option-1" class="option option-1">
     <div class="dot"></div>
      <!-- <span>Pria</span> -->
      </label>
   <label for="option-2" class="option option-2">
     <div class="dot"></div>
      <!-- <span>Wanita</span> -->
   </label>
   </div>
</div>
<hr>
<div class="row">
      <div class="col-25">
<label for="tipe">Kelas</label>
</div>
<div class="col-75">
<select name="id_kelas" id="tipe" required>
            <option value="<?= $tampildata['id_kelas']; ?>">Sebelumnya Dipilih (<?= $tampildata['id_kelas']; ?>)</option>
                <?php
                $query ="SELECT id_kelas, kelas FROM datakelas";
                $result = $koneksi->query($query);
                if($result->num_rows> 0){
                    while($optionData=$result->fetch_assoc()){
                    $option =$optionData['kelas'];
                    $id =$optionData['id_kelas'];
                ?>
                <option value="<?php echo $id; ?>" ><?php echo $option; ?> </option>
                <?php
                }}
                ?>
            </select>
      </div>
    </div>
    <hr>
  <input type="hidden" name="id" value="<?php echo $edit["id"]?>"/>
    <div class="row">
      <div class="col-25">
        <label for="country">Hobi</label>
      </div>
      <div class="col-75">
      <label class="form-controlc">
  <input type="checkbox" name="hobi[]" value="Olahraga" <?php in_array ('Olahraga', $checked) ? print "checked" : ""; ?> />
  Olahraga
</label>
<label class="form-controlc">
  <input type="checkbox" name="hobi[]" value="Gamers" <?php in_array ('Gamers', $checked) ? print "checked" : ""; ?> />
  Gamers
</label>
<label class="form-controlc">
  <input type="checkbox" name="hobi[]" value="SLEBEW" <?php in_array ('SLEBEW', $checked) ? print "checked" : ""; ?> />
  SLEBEW
</label>
    </div>
    <hr>
    <div class="row">
      <div class="col-25">
        <label for="gambar">Upload Gambar</label>
      </div>
      <br>
      <div class="col-75">
      <style>
      .center {
        height:100%;
        /* display:flex; */
        align-items:center;
        justify-content:center;
      }
      .form-input {
        width:130px;
        padding:5px;
        background:#fff;
        box-shadow: -3px -3px 7px rgba(94, 104, 121, 0.377),
                    3px 3px 7px rgba(94, 104, 121, 0.377);
      }
      .form-input img {
        width:100%;
        display:block;
        margin-bottom:5px;
      }
        </style>
        <script>
          function showPreview(event){
  if(event.target.files.length > 0){
    var src = URL.createObjectURL(event.target.files[0]);
    var preview = document.getElementById("file-ip-1-preview");
    preview.src = src;
    preview.style.display = "block";
  }
}
        </script>
      <div class="center">
  <div class="form-input">
    <div class="preview">
    <img id="file-ip-1-preview" src="img/<?php echo $tampildata['gambar'];?>" width='100%' alt="Ini Foto">
  </div>
  </div>
</div>
<br>
        <input type="hidden" name="gambarLama" value="<?php echo $tampildata["gambar"]?>"/>
        <input type="file" name="gambar" id="gambar" onchange="showPreview(event);">
      </div>
    </div>
    <hr>
    <div style="margin-top: 10px;">
      <input type="submit" name="submit" value="Edit" onclick="return confirm('Apa Anda yakin akan mengubah data?')">
      <button type="button" onclick="location.reload();">Reset</button>
    </div>
  </form>
</div>
<?php
}
?>


koneksi.php

<?php
    //koneksi ke database melalui koneksi.php
    $host       = "localhost";
    $user       = "root";
    $password   = "";
    $dbname     = "phpdasar";

    $sambung=mysqli_connect($host,$user,$password,$dbname);

    $koneksi = mysqli_connect("localhost","root","","phpdasar") ;

    function query($query){
        global $koneksi;
        $result = mysqli_query($koneksi ,$query);
        $rows = [];
        while( $row = mysqli_fetch_assoc($result)) {
            $rows[] = $row;
        }

        return $rows;
    }

    function tambah(){

        global $koneksi;
   
        $nama       = $_POST['nama'];
        $jeniskel   = $_POST['jenis_kel'];
        $kelas      = $_POST['kelas'];
        $hobi       = $_POST['hobi'];
       
        $value = implode(",", $hobi);

        // Upload Gambar
        $gambar = upload();
        if( !$gambar ) {
            return false;
        }
   
        $sql = "INSERT INTO datasiswa1 (nama,jenis_kel,id_kelas,hobi,gambar) VALUES ('$nama','$jeniskel','$kelas','$value','$gambar')
        ";

        // $sql = "INSERT INTO tb_user VALUES
        //         nama='$nama',
        //         jenis_kel='$jeniskel',
        //         kelas='$kelas',
        //         hobi='$value',
        //         gambar='$gambar'
        //         ";


        mysqli_query($koneksi, $sql);
   
        return mysqli_affected_rows($koneksi);
   
    }

    function upload() {
        $namaFile = $_FILES['gambar']['name'];
        $ukuranFile = $_FILES['gambar']['size'];
        $error = $_FILES['gambar']['error'];
        $tmpName = $_FILES['gambar']['tmp_name'];

        // cek apakah tidak ada gambar yang diupload
        if($error === 4){
            echo "<script>
                alert('Pilih gambar terlebih dahulu');
                </script>";
            return false;
        }

        // cek apakah yang diupload adalah gambar atau bukan
        $ekstensiGambarValid = ['jpg','jpeg','png','webp'];
        $ekstensiGambar = explode('.', $namaFile);
        $ekstensiGambar = strtolower(end($ekstensiGambar));

        if( !in_array($ekstensiGambar, $ekstensiGambarValid) ) {
            echo "<script>
                alert('Anda hanya bisa upload Gambar');
                </script>";
            return false;
        }

        // cek jika ukuran file nya terlalu besar
        if($ukuranFile > 1000000 ) {
            echo "<script>
                alert('Ukuran gambar terlalu besar');
                </script>";
            return false;
        }

        // lolos pengecekan, gambar siap diupload
        // generate nama gambar baru
        $namaFileBaru = uniqid();
        $namaFileBaru .= '.';
        $namaFileBaru .= $ekstensiGambar;

        move_uploaded_file($tmpName, 'img/' . $namaFileBaru);

        return $namaFileBaru;
    }

    function edit() {
        global $koneksi;

        $id = $_GET['id'];
   
        $nama       = $_POST['nama'];
        $jeniskel   = $_POST['jenis_kel'];
        $kelas      = $_POST['id_kelas'];
        $hobi       = $_POST['hobi'];
        $gambarLama = $_POST['gambarLama'];

        $value = implode(",", $hobi);

        // cek apakah user pilih gambar baru atau tidak
        if( $_FILES['gambar']['error'] === 4 ) {
            $gambar = $gambarLama;
        } else {
            $gambar = upload();
        }

        // $sql = "UPDATE tb_user 'nama','jenis_kel','kelas','hobi','gambar' SET ('$nama''$jeniskel''$kelas''$value''$gambar') WHERE id = $id";

        // $sql = "UPDATE tb_user (nama,jenis_kel,kelas,hobi,gambar) SET ('$nama','$jeniskel','$kelas','$value','$gambar') WHERE id = $id";
       
        $sql = "UPDATE datasiswa1 SET
                nama='$nama',
                jenis_kel='$jeniskel',
                id_kelas='$kelas',
                hobi='$value',
                gambar='$gambar'
                WHERE id = $id";
               
        mysqli_query($koneksi, $sql);
   
        return mysqli_affected_rows($koneksi);
   
    }

    function cari($keyword) {
        $query =("SELECT * FROM datasiswa1,datakelas where datasiswa1.id_kelas= datakelas.id_kelas and nama like '%$keyword%'  or datasiswa1.id_kelas= datakelas.id_kelas and kelas like '%$keyword' ORDER BY id DESC");

                    return query($query);
    }
?>


tambah.php

<?php

  require 'koneksi.php';

  $row = query("SELECT * FROM datasiswa1");

  if (isset($_POST['submit'])) {

    if (tambah($_POST)>0){

      echo "<script>
                alert('Data berhasil ditambah!');
                document.location.href = 'index.php?page=data';
            </script>";

    }else{

      echo "<script>
                alert('Data gagal ditambah!');
                document.location.href = 'index.php?page=data';
            </script>";

    }

  }

 ?>

<h1 style="color: #212121">
    <center>💾 TAMBAH DATA 💾</center>
</h1>
<hr>
<div class="container">
  <form action="" method="post" enctype="multipart/form-data">
    <div class="row">
      <div class="col-25">
        <label for="lname">Nama</label>
      </div>
      <div class="col-75">
        <input type="text" name="nama" value="" autocomplete="off" required>
      </div>
    </div>
    <hr>
  <div class="row">
  <div class="col-25">
  <label for="lname">Jenis Kelamin</label>
  </div>
  <div class="col-75">
  <div class="wrapper">
 <input type="radio" name="jenis_kel" value="Pria" id="option-1" checked>Pria
 <input type="radio" name="jenis_kel" value="Wanita" id="option-2">Wanita
   <label for="option-1" class="option option-1">
     <div class="dot"></div>
      <!-- <span>Pria</span> -->
      </label>
   <label for="option-2" class="option option-2">
     <div class="dot"></div>
      <!-- <span>Wanita</span> -->
   </label>
   </div>
</div>
<hr>
<div class="row">
      <div class="col-25">
<label for="tipe">Kelas</label>
</div>
<div class="col-75">
  <select name="kelas" id="tipe">
            <option value="Belum Memilih">Pilih Kelas</option>
                <?php
                $query ="SELECT id_kelas, kelas FROM datakelas";
                $result = $koneksi->query($query);
                if($result->num_rows> 0){
                    while($optionData=$result->fetch_assoc()){
                    $option =$optionData['kelas'];
                    $id =$optionData['id_kelas'];
                ?>
                <option value="<?php echo $id; ?>" ><?php echo $option; ?> </option>
                <?php
                }}
                ?>
            </select>
        <!-- <select name="kelas" id="tipe">
            <option>Pilih Kelas</option>
            <option value="X">X</option>
            <option value="XI">XI</option>
            <option va lue="XII">XII</option>
        </select> -->
      </div>
    </div>
    <hr>
  <input type="hidden" name="id" value=""/>
    <div class="row">
      <div class="col-25">
        <label for="country">Hobi</label>
      </div>
      <div class="col-75">
      <label class="form-controlc">
    <input type="checkbox" name="hobi[]" value="Olahraga">
  Olahraga
</label>
<label class="form-controlc">
<input type="checkbox" name="hobi[]" value="Gamers">
Gamers
</label>
<label class="form-controlc">
<input type="checkbox" name="hobi[]" value="SLEBEW">
SLEBEW
</label>
    </div>
    <hr>
  <div class="row">
      <div class="col-25">
        <label for="gambar">Upload Gambar</label>
      </div>
      <br>
      <div class="col-75">
      <style>
      .center {
        height:100%;
        /* display:flex; */
        align-items:center;
        justify-content:center;
      }
      .form-input {
        width:130px;
        padding:5px;
        background:#fff;
        box-shadow: -3px -3px 7px rgba(94, 104, 121, 0.377),
                    3px 3px 7px rgba(94, 104, 121, 0.377);
      }
      .form-input img {
        width:100%;
        display:none;
        margin-bottom:5px;
      }
        </style>
        <script>
          function showPreview(event){
  if(event.target.files.length > 0){
    var src = URL.createObjectURL(event.target.files[0]);
    var preview = document.getElementById("file-ip-1-preview");
    preview.src = src;
    preview.style.display = "block";
  }
}
        </script>
        <div class="center">
  <div class="form-input">
    <div class="preview">
    <img id="file-ip-1-preview">
  </div>
  </div>
</div>
<br>
        <input type="file" name="gambar" id="gambar" onchange="showPreview(event);">
      </div>
    </div>
    <div class="row" style="margin-top: 10px;">
    <hr>
  <input type="submit" name="submit" class="btn btn-tambah">
  <button type="reset" name="reset" onclick="location.reload();">Reset</button>
    </div>
  </form>
</div>

------------------------------------------------------------------------------------------------------------------------------------------------

Hasil :




Posting Komentar

Lebih baru Lebih lama