PHP CRUD JSON file instead of a database like mysql
You can do it in this way:
test.json
{ "playlist": [ { "title": "Test title1222212321321321", "title_bg": "link\/to\/image.png", "link": "https:\/\/www.google.com", "description": "This is a test JSON Object" }, { "title": "sdfdasf", "title_bg": "adsfdas", "link": "fdasf", "description": "dasfdasf" }, { "title": "This is a title ", "title_bg": "This is a title bg", "link": "This is a link2", "description": "This is a description" } ]}
index.php
<?php$getfile = file_get_contents('test.json');$jsonfile = json_decode($getfile);?><a href="http://localhost/test/add.php">Add</a><table align="center"> <tr> <th>Title</th> <th>Background Image</th> <th>Video URL (Link to Video)</th> <th>Description of Video</th> <th></th> </tr> <tbody> <?php foreach ($jsonfile->playlist as $index => $obj): ?> <tr> <td><?php echo $obj->title; ?></td> <td><?php echo $obj->title_bg; ?></td> <td><?php echo $obj->link; ?></td> <td><?php echo $obj->description; ?></td> <td> <a href="http://localhost/test/edit.php?id=<?php echo $index; ?>">Edit</a> <a href="http://localhost/test/delete.php?id=<?php echo $index; ?>">Delete</a> </td> </tr> <?php endforeach; ?> </tbody></table>
edit.php
<?phpif (isset($_GET["id"])) { $id = (int) $_GET["id"]; $getfile = file_get_contents('test.json'); $jsonfile = json_decode($getfile, true); $jsonfile = $jsonfile["playlist"]; $jsonfile = $jsonfile[$id];}if (isset($_POST["id"])) { $id = (int) $_POST["id"]; $getfile = file_get_contents('test.json'); $all = json_decode($getfile, true); $jsonfile = $all["playlist"]; $jsonfile = $jsonfile[$id]; $post["title"] = isset($_POST["title"]) ? $_POST["title"] : ""; $post["title_bg"] = isset($_POST["title_bg"]) ? $_POST["title_bg"] : ""; $post["link"] = isset($_POST["link"]) ? $_POST["link"] : ""; $post["description"] = isset($_POST["description"]) ? $_POST["description"] : ""; if ($jsonfile) { unset($all["playlist"][$id]); $all["playlist"][$id] = $post; $all["playlist"] = array_values($all["playlist"]); file_put_contents("test.json", json_encode($all)); } header("Location: http://localhost/test/index.php");}?><?php if (isset($_GET["id"])): ?> <form action="http://localhost/test/edit.php" method="POST"> <input type="hidden" value="<?php echo $id ?>" name="id"/> <input type="text" value="<?php echo $jsonfile["title"] ?>" name="title"/> <input type="text" value="<?php echo $jsonfile["title_bg"] ?>" name="title_bg"/> <input type="text" value="<?php echo $jsonfile["link"] ?>" name="link"/> <input type="text" value="<?php echo $jsonfile["description"] ?>" name="description"/> <input type="submit"/> </form><?php endif; ?>
delete.php
<?phpif (isset($_GET["id"])) { $id = (int) $_GET["id"]; $all = file_get_contents('test.json'); $all = json_decode($all, true); $jsonfile = $all["playlist"]; $jsonfile = $jsonfile[$id]; if ($jsonfile) { unset($all["playlist"][$id]); $all["playlist"] = array_values($all["playlist"]); file_put_contents("test.json", json_encode($all)); } header("Location: http://localhost/test/index.php");}
add.php
<form action="http://localhost/test/add.php" method="POST"> <input type="text" name="title" placeholder="title"/> <input type="text" name="title_bg" placeholder="title_bg"/> <input type="text" name="link" placeholder="link"/> <input type="text" name="description" placeholder="description"/> <input type="submit" name="add"/></form><?phpif (isset($_POST["add"])) { $file = file_get_contents('test.json'); $data = json_decode($file, true); unset($_POST["add"]); $data["playlist"] = array_values($data["playlist"]); array_push($data["playlist"], $_POST); file_put_contents("test.json", json_encode($data)); header("Location: http://localhost/test/index.php");}?>
To run the script you must specify in each of these files, a file path JSON. You have to also change the address of links to your environment.