Bootstrap 5
https://getbootstrap.com/docs/5.0/getting-started/introduction/
https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | //index.php <!DOCTYPE html> <html> <head> <meta charset= "utf-8" > <title>PHP JSON File CRUD (Create Read Update and Delete )</title> <link rel= "stylesheet" type= "text/css" href= "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" > </head> <body> <div class = "container" > <h1 class = "page-header text-center" >PHP JSON File CRUD (Create Read Update and Delete )</h1> <div class = "row" > <div class = "col-12" > <a href= "add.php" class = "btn btn-primary" >Add</a> <table class = "table table-bordered table-striped" style= "margin-top:20px;" > <thead> <th>ID</th> <th>Firstname</th> <th>Lastname</th> <th>Address</th> <th>Action</th> </thead> <tbody> <?php //fetch data from json $data = file_get_contents ( 'members.json' ); //decode into php array $data = json_decode( $data ); $index = 0; foreach ( $data as $row ){ echo " <tr> <td> ".$row->id." </td> <td> ".$row->firstname." </td> <td> ".$row->lastname." </td> <td> ".$row->address." </td> <td> <a href= 'edit.php?index=".$index."' class = 'btn btn-success btn-sm' >Edit</a> <a href= 'delete.php?index=".$index."' class = 'btn btn-danger btn-sm' > Delete </a> </td> </tr> "; $index ++; } ?> </tbody> </table> </div> </div> </div> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | //add.php <!DOCTYPE html> <html> <head> <meta charset= "utf-8" > <title>PHP JSON File CRUD (Create Read Update and Delete )</title> <link rel= "stylesheet" type= "text/css" href= "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" > </head> <body> <div class = "container" > <h1 class = "page-header text-center" >PHP JSON File CRUD (Create Read Update and Delete )</h1> <div class = "row" > <div class = "col-1" ></div> <div class = "col-8" ><a href= "index.php" >Back</a> <form method= "POST" > <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >ID</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "id" name= "id" > </div> </div> <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >Firstname</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "firstname" name= "firstname" > </div> </div> <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >Lastname</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "lastname" name= "lastname" > </div> </div> <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >Address</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "address" name= "address" > </div> </div> <input type= "submit" name= "save" value= "Save" class = "btn btn-primary" > </form> </div> <div class = "col-5" ></div> </div> </div> <?php if (isset( $_POST [ 'save' ])){ //open the json file $data = file_get_contents ( 'members.json' ); $data = json_decode( $data ); //data in out POST $input = array ( 'id' => $_POST [ 'id' ], 'firstname' => $_POST [ 'firstname' ], 'lastname' => $_POST [ 'lastname' ], 'address' => $_POST [ 'address' ] ); //append the input to our array $data [] = $input ; //encode back to json $data = json_encode( $data , JSON_PRETTY_PRINT); file_put_contents ( 'members.json' , $data ); header( 'location: index.php' ); } ?> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | //edit.php <!DOCTYPE html> <html> <head> <meta charset= "utf-8" > <title>PHP JSON File CRUD (Create Read Update and Delete )</title> <link rel= "stylesheet" type= "text/css" href= "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" > </head> <body> <?php //get id from URL $index = $_GET [ 'index' ]; //get json data $data = file_get_contents ( 'members.json' ); $data_array = json_decode( $data ); //assign the data to selected index $row = $data_array [ $index ]; if (isset( $_POST [ 'save' ])){ $input = array ( 'id' => $_POST [ 'id' ], 'firstname' => $_POST [ 'firstname' ], 'lastname' => $_POST [ 'lastname' ], 'address' => $_POST [ 'address' ], 'gender' => $_POST [ 'gender' ] ); //update the selected index $data_array [ $index ] = $input ; //encode back to json $data = json_encode( $data_array , JSON_PRETTY_PRINT); file_put_contents ( 'members.json' , $data ); header( 'location: index.php' ); } ?> <div class = "container" > <h1 class = "page-header text-center" >PHP JSON File CRUD (Create Read Update and Delete )</h1> <div class = "row" > <div class = "col-1" ></div> <div class = "col-8" ><a href= "index.php" >Back</a> <form method= "POST" > <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >ID</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "id" name= "id" value= "<?php echo $row->id; ?>" > </div> </div> <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >Firstname</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "firstname" name= "firstname" value= "<?php echo $row->firstname; ?>" > </div> </div> <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >Lastname</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "lastname" name= "lastname" value= "<?php echo $row->lastname; ?>" > </div> </div> <div class = "mb-3 row" > <label class = "col-sm-2 col-form-label" >Address</label> <div class = "col-sm-10" > <input type= "text" class = "form-control" id= "address" name= "address" value= "<?php echo $row->address; ?>" > </div> </div> <input type= "submit" name= "save" value= "Save" class = "btn btn-primary" > </form> </div> <div class = "col-5" ></div> </div> </div> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //delete.php <?php //get id $index = $_GET [ 'index' ]; //fetch data from json $data = file_get_contents ( 'members.json' ); $data = json_decode( $data ); //delete the row with the index unset( $data [ $index ]); //encode back to json $data = json_encode( $data , JSON_PRETTY_PRINT); file_put_contents ( 'members.json' , $data ); header( 'location: index.php' ); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | //members.json [ { "id" : "2" , "firstname" : "Ashton" , "lastname" : "Cox" , "address" : "San Francisco" }, { "id" : "3" , "firstname" : "Bradley" , "lastname" : "Greer" , "address" : "London" }, { "id" : "4" , "firstname" : "Brenden" , "lastname" : "Wagner" , "address" : "San Francisco" }, { "id" : "5" , "firstname" : "Cairocoders" , "lastname" : "Ednalan" , "address" : "Olongapo City" }, { "id" : "6" , "firstname" : "Clydety" , "lastname" : "Ednalan" , "address" : "Olongapo City" , "gender" : null } ] |