menu

Website sederhana untuk pemula menggunakan PHP - migration database


Pada website ini saya sudah membagikan tutorial untuk php native, versi php yang saya gunakan pada tutorial itu adalah 5.6 dikarenakan saya akan melakukan migrasi ke php 7.0 maka saya akan mengakhiri tutorial untuk php native 5.6.

Tutorial kali ini merupakan tutorial terakhir dari project php yang sudah saya buat sebelumnya, tutorial kali ini untuk melengkapi tutorial sebelum-sebelumnya sehingga project php native (website sederhana untuk pemula menggunakan php) yang sudah saya buat sebelum-sebelumnya bisa tinggal anda clone dan langsung di jalankan,

Pada tutorial kali ini saya akan membuatkan function migration sehingga teman2 bisa langsung menjalankannya pada terminal untuk membuat database project ini secara otomatis

Oke langsung saja kita mulai tutorialnya,
Pertama, buat folder baru dengan nama database dan buat file baru dengan nama migration.php pada folder tersebut, isikan code berikut
<?php
  $host="localhost";
  $user="root";
  $pass="root";  

  $dbname = "blog_php_5_6";
  $tablename = "crud";

  $db=mysql_connect($host,$user,$pass);

  //create database if not exists
  $sql ="CREATE DATABASE IF NOT EXISTS `$dbname` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci";
  $message = mysql_query($sql,$db);
  if ($message) {
    print_r("Create database success.\n");
  }

  $sql="USE `$dbname`";
  $message = mysql_query($sql,$db);
  if ($message) {
    print_r("Choose database success.\n");
  }

  //create table if not exists
  $sql = "CREATE TABLE IF NOT EXISTS `$tablename` (
            id bigint( 20 ) AUTO_INCREMENT PRIMARY KEY,
            name varchar( 50 ) NOT NULL,
            email varchar( 150 ) NOT NULL, 
            address text( 150 ) NULL,
            created_at timestamp NULL,
            updated_at timestamp NULL
          );";
  $message = mysql_query($sql,$db);
  if (!$message) { 
    print_r(mysql_error($db)."\n");
  } else {
    print_r("Create table success.\n");
  }

  //add primary key
  $sql = "ALTER TABLE `$tablename` ADD PRIMARY KEY (`id`)";
  mysql_query($sql,$db);

  //add auto increment
  $sql = "ALTER TABLE `$tablename` MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT";
  mysql_query($sql,$db);
?>

Kemudian edit file koneksi.php
<?php
  $host="localhost";
  $user="root";
  $pass="root";
  $dbname="blog_php_5_6";

  $db=mysql_connect($host,$user,$pass);
  mysql_select_db($dbname,$db);
?>

Edit pula file Delete.php dan Update.php pada folder model
Delete.php
<?php
    $user_id  = $_GET["user_id"];
 $_id   = $_POST["id"];
 $_delete  = $_POST["dell"];
 $_name   = $_POST["name"];
 $_email   = $_POST["email"];
 $_address = $_POST["address"];

 if ($_delete) {
  if ($_id) {
   $sql="DELETE FROM crud WHERE id = '$_id'";
      mysql_query($sql,$db);
  }
     header("Location: http://localhost/BLOG/blog-php_5_6");
  die();
 }

 $sql="SELECT * FROM crud WHERE id='$user_id'";
 $hsl=mysql_query($sql,$db);
 list($name,$email,$address,$created_at,$updated_at,$id)=mysql_fetch_array($hsl);
?>
Update.php
<?php
    $user_id  = $_GET["user_id"];
 $_id   = $_POST["id"];
 $_simpan  = $_POST["simpan"];
 $_name   = $_POST["name"];
 $_email   = $_POST["email"];
 $_address = $_POST["address"];

 if ($_simpan) {
  if ($_id) {
   $sql="UPDATE crud SET
   name = '$_name',
   email = '$_email',
   address = '$_address',
   updated_at = NOW()
         WHERE id = '$_id'";
      mysql_query($sql,$db);
  }
     header("Location: http://localhost/BLOG/blog-php_5_6");
  die();
 }

 $sql="SELECT * FROM crud WHERE id='$user_id'";
 $hsl=mysql_query($sql,$db);
 list($name,$email,$address,$created_at,$updated_at,$id)=mysql_fetch_array($hsl);
?>

Terakhir edit file read.php pada folder view/crud/ dan file header.php pada folder view/master
read.php
<!-- custom css -->
<link rel="stylesheet" href="styles/style.css">
<!--  -->
<!-- model -->
<?php include_once "model/Read.php" ?>
<!--  -->
<!-- content -->
<?php include_once "view/master/header.php" ?>
<div class="content">
  <div class="fill">
   <table border="1px";>
 <tr>
  <th>No</th>
  <th>Name</th>
  <th>Email</th>
  <th>Address</th>
  <th>Created At</th>
  <th>Updated At</th>
  <th>Action</th>
 </tr>
 <?php
  $sql="SELECT * FROM crud";
  $hsl=mysql_query($sql,$db);
  $no=0;
  while(list($id,$name,$email,$address,$created_at,$updated_at)=mysql_fetch_array($hsl)){
   $no++;
   ?>
     <tr>
      <td><?=$no?></td>
      <td><?=$name?></td>
      <td><?=$email?></td>
      <td><?=$address?></td>
      <td><?=$created_at?></td>
      <td><?=$updated_at?></td>
      <td>
       <a href="view/crud/update.php?user_id=<?=$id?>">Edit</a> ||
       <a href="view/crud/delete.php?user_id=<?=$id?>">Delete</a>
      </td>
     </tr>
      <?php
  }
 ?>
 </table>
 <br>
 <button class="button_def" onclick='window.location="view/crud/create.php"'>Create</button>
  </div>
</div>
<?php include_once "view/master/footer.php" ?>
header.php
<div class="main_image">
 <div class="header_content">
  <li><a href="http://localhost/BLOG/blog-php_5_6">Home</a></li>
 </div>
</div>

===DONE!===