{"id":2185,"date":"2022-03-11T07:54:06","date_gmt":"2022-03-11T07:54:06","guid":{"rendered":"https:\/\/codeinsightacademy.com\/blog\/?p=2185"},"modified":"2022-03-11T07:55:24","modified_gmt":"2022-03-11T07:55:24","slug":"php-crud-cheat-sheet","status":"publish","type":"post","link":"https:\/\/codeinsightacademy.com\/blog\/php\/php-crud-cheat-sheet\/","title":{"rendered":"PHP CRUD CHEAT SHEET"},"content":{"rendered":"\n<p>MySQL Schema<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE `users` (\n  `id` int NOT NULL AUTO_INCREMENT,\n  `name` varchar(50) NOT NULL,\n  `age` int NOT NULL,\n  `city` varchar(50) NOT NULL,\n  PRIMARY KEY (`id`)\n) ENGINE=InnoDB;<\/code><\/pre>\n\n\n\n<h2>REST API<\/h2>\n\n\n\n<p>rest_api.php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nheader('Access-Control-Allow-Origin: *');\n\n$servername = \"localhost\";\n$username = \"diituser\";\n$password = \"%TGBbgt5\";\n$dbname = \"ecom\";\n\ntry {\n  $conn = new PDO(\"mysql:host=$servername;dbname=$dbname\", $username, $password);\n  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n\n} catch(PDOException $e) {\n  echo \"Error: \" . $e->getMessage();\n}\n\n\n\n\nswitch($_SERVER&#91;'REQUEST_METHOD']) {\n    case 'GET':\n\n        if(isset($_REQUEST&#91;'id']) &amp;&amp; $_REQUEST&#91;'id'] != '') {\n            $id = $_REQUEST&#91;'id'];\n            $sql = \"SELECT * FROM users WHERE id = $id\";\n            $stmt = $conn->prepare($sql);\n            $stmt->execute();\n            $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);\n            $records = $stmt->fetch();\n        } else {\n            $sql = \"SELECT * FROM users\";\n            $stmt = $conn->prepare($sql);\n            $stmt->execute();\n            $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);\n            $records = $stmt->fetchAll();\n        }\n        echo json_encode($records);\n\n    case 'DELETE':\n\n        $data = json_decode(file_get_contents('php:\/\/input'), true);\n\n        $id = $data&#91;\"id\"];\n        $sql = \"DELETE FROM users WHERE id = $id\";\n        $stmt = $conn->prepare($sql);\n        $stmt->execute();\n        echo json_encode(&#91;\"result\" => \"success\"]);\n\n    case 'POST':\n\n        $data = json_decode(file_get_contents('php:\/\/input'), true);\n\n        $name = $data&#91;\"name\"];\n        $age = $data&#91;'age'];\n        $city = $data&#91;'city'];\n        $sql = \"INSERT INTO `users` (`id`, `name`, `age`, `city`) VALUES (NULL, '$name', '$age', '$city'); \";\n        $stmt = $conn->prepare($sql);\n        $stmt->execute();\n        echo json_encode(&#91;\"result\" => \"success\"]);\n\n    case 'PUT':\n\n        $data = json_decode(file_get_contents('php:\/\/input'), true);\n\n        $id = $data&#91;'id'];\n        $name = $data&#91;\"name\"];\n        $age = $data&#91;'age'];\n        $city = $data&#91;'city'];\n        $sql = \"UPDATE users SET `name` = '$name', age = '$age', city = '$city' WHERE id = $id\";\n        $stmt = $conn->prepare($sql);\n        $stmt->execute();\n        echo json_encode(&#91;\"result\" => \"success\"]);\n}\n\n\n$conn = null;\n<\/code><\/pre>\n\n\n\n<h2>FRONT END<\/h2>\n\n\n\n<p>script.js<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const api_url = \"rest_api.php\";\nfunction loadData(records = &#91;]) {\n  var table_data = \"\";\n  for (let i = 0; i &lt; records.length; i++) {\n    table_data += `&lt;tr>`;\n    table_data += `&lt;td>${records&#91;i].name}&lt;\/td>`;\n    table_data += `&lt;td>${records&#91;i].age}&lt;\/td>`;\n    table_data += `&lt;td>${records&#91;i].city}&lt;\/td>`;\n    table_data += `&lt;td>`;\n    table_data += `&lt;a href=\"edit.php?id=${records&#91;i].id}\">&lt;button class=\"btn btn-primary\">Edit&lt;\/button>&lt;\/a>`;\n    table_data += \"&amp;nbsp;&amp;nbsp;\";\n    table_data += `&lt;button class=\"btn btn-danger\" onclick=deleteData('${records&#91;i].id}')>Delete&lt;\/button>`;\n    table_data += `&lt;\/td>`;\n    table_data += `&lt;\/tr>`;\n  }\n  \/\/console.log(table_data);\n  document.getElementById(\"tbody\").innerHTML = table_data;\n}\nfunction getData() {\n  fetch(api_url)\n    .then((response) => response.json())\n    .then((data) => {\n      console.table(data);\n      loadData(data);\n    });\n}\nfunction getDataById(id) {\n  fetch(`${api_url}?id=${id}`)\n    .then((response) => response.json())\n    .then((data) => {\n      console.log(data);\n      document.getElementById(\"id\").value = data.id;\n      document.getElementById(\"name\").value = data.name;\n      document.getElementById(\"age\").value = data.age;\n      document.getElementById(\"city\").value = data.city;\n    });\n}\nfunction postData() {\n  var name = document.getElementById(\"name\").value;\n  var age = document.getElementById(\"age\").value;\n  var city = document.getElementById(\"city\").value;\n  data = { name: name, age: age, city: city };\n  fetch(api_url, {\n    method: \"POST\",\n    headers: {\n      Accept: \"application\/json\",\n      \"Content-Type\": \"application\/json\",\n    },\n    body: JSON.stringify(data),\n  })\n    .then((response) => response.json())\n    .then((data) => {\n      console.log(data);\n      window.location.href = \"index.php\";\n    });\n}\nfunction putData() {\n  var id = document.getElementById(\"id\").value;\n  var name = document.getElementById(\"name\").value;\n  var age = document.getElementById(\"age\").value;\n  var city = document.getElementById(\"city\").value;\n  data = { id: id, name: name, age: age, city: city };\n  fetch(api_url, {\n    method: \"PUT\",\n    headers: {\n      Accept: \"application\/json\",\n      \"Content-Type\": \"application\/json\",\n    },\n    body: JSON.stringify(data),\n  })\n    .then((response) => response.json())\n    .then((data) => {\n      console.table(data);\n      window.location.href = \"index.php\";\n    });\n}\nfunction deleteData(id) {\n  user_input = confirm(\"Are you sure you want to delete this record?\");\n  if (user_input) {\n    fetch(api_url, {\n      method: \"DELETE\",\n      headers: {\n        Accept: \"application\/json\",\n        \"Content-Type\": \"application\/json\",\n      },\n      body: JSON.stringify({ id: id }),\n    })\n      .then((response) => response.json())\n      .then((data) => {\n        console.log(data);\n        window.location.reload();\n      });\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>index.php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;html>\n\n&lt;head>\n    &lt;title>Project&lt;\/title>\n    &lt;link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\" crossorigin=\"anonymous\">\n    &lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/js\/bootstrap.bundle.min.js\" crossorigin=\"anonymous\">&lt;\/script>\n&lt;\/head>\n\n&lt;body class=\"d-flex flex-column h-100 container\">\n    &lt;header>\n        &lt;nav class=\"navbar navbar-expand-lg navbar-light bg-light\">\n            &lt;div class=\"container-fluid\">\n                &lt;div class=\"collapse navbar-collapse\" id=\"navbarNavAltMarkup\">\n                    &lt;div class=\"navbar-nav\">\n                        &lt;a class=\"nav-link active\" aria-current=\"page\" href=\"#\">Listing&lt;\/a>\n                        &lt;a class=\"nav-link\" href=\"add.php\">Add New&lt;\/a>\n                    &lt;\/div>\n                &lt;\/div>\n            &lt;\/div>\n        &lt;\/nav>\n    &lt;\/header>\n    &lt;table class=\"table table-striped table-hover text-center\">\n        &lt;thead>\n            &lt;th>Name&lt;\/th>\n            &lt;th>Age&lt;\/th>\n            &lt;th>City&lt;\/th>\n            &lt;th>Action&lt;\/th>\n        &lt;\/thead>\n        &lt;tbody id=\"tbody\">\n        &lt;\/tbody>\n        &lt;tfoot>\n        &lt;\/tfoot>\n    &lt;\/table>\n    &lt;footer class=\"footer mt-auto py-3 bg-light\">\n        &lt;div class=\"container text-center\">\n            &lt;span class=\"text-muted\">right &amp;copy; 2021&lt;\/span>\n        &lt;\/div>\n    &lt;\/footer>\n&lt;\/body>\n&lt;script src=\"script.js\">&lt;\/script>\n&lt;script>\n    getData();\n&lt;\/script>\n\n&lt;\/html><\/code><\/pre>\n\n\n\n<p>add.php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;html>\n\n&lt;head>\n    &lt;title>Project&lt;\/title>\n    &lt;link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\" crossorigin=\"anonymous\">\n    &lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/js\/bootstrap.bundle.min.js\" crossorigin=\"anonymous\">&lt;\/script>\n&lt;\/head>\n\n&lt;body class=\"d-flex flex-column h-100 container\">\n    &lt;header>\n        &lt;nav class=\"navbar navbar-expand-lg navbar-light bg-light\">\n            &lt;div class=\"container-fluid\">\n                &lt;div class=\"collapse navbar-collapse\" id=\"navbarNavAltMarkup\">\n                    &lt;div class=\"navbar-nav\">\n                        &lt;a class=\"nav-link\" href=\"index.php\">Listing&lt;\/a>\n                        &lt;a class=\"nav-link active\" aria-current=\"page\" href=\"add.php\">Add New&lt;\/a>\n                    &lt;\/div>\n                &lt;\/div>\n            &lt;\/div>\n        &lt;\/nav>\n    &lt;\/header>\n    &lt;h3>Add Document&lt;\/h3>\n    &lt;form onsubmit=\"return false;\">\n        &lt;div class=\"mb-3\">\n            &lt;label for=\"name\" class=\"form-label\">Name&lt;\/label>\n            &lt;input type=\"text\" class=\"form-control\" id=\"name\" autofocus>\n        &lt;\/div>\n        &lt;div class=\"mb-3\">\n            &lt;label for=\"exampleInputPassword1\" class=\"form-label\">Age&lt;\/label>\n            &lt;input type=\"text\" class=\"form-control\" id=\"age\">\n        &lt;\/div>\n        &lt;div class=\"mb-3\">\n            &lt;label for=\"city\" class=\"form-label\">City&lt;\/label>\n            &lt;input type=\"text\" class=\"form-control\" id=\"city\">\n        &lt;\/div>\n        &lt;button class=\"btn btn-primary\" onclick=\"return postData()\">Submit&lt;\/button>\n        &lt;a href=\"index.php\" class=\"btn btn-primary\">Cancel&lt;\/a>\n    &lt;\/form>\n    &lt;footer class=\"footer mt-auto py-3 bg-light\">\n        &lt;div class=\"container text-center\">\n            &lt;span class=\"text-muted\">right &amp;copy; 2021&lt;\/span>\n        &lt;\/div>\n    &lt;\/footer>\n&lt;\/body>\n&lt;script src=\"script.js\">&lt;\/script>\n&lt;script>\n&lt;\/script>\n\n&lt;\/html><\/code><\/pre>\n\n\n\n<p>edit.php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;html>\n\n&lt;head>\n    &lt;title>Project&lt;\/title>\n    &lt;link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\" crossorigin=\"anonymous\">\n    &lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/js\/bootstrap.bundle.min.js\" crossorigin=\"anonymous\">&lt;\/script>\n&lt;\/head>\n\n&lt;body class=\"d-flex flex-column h-100 container\">\n    &lt;header>\n        &lt;nav class=\"navbar navbar-expand-lg navbar-light bg-light\">\n            &lt;div class=\"container-fluid\">\n                &lt;div class=\"collapse navbar-collapse\" id=\"navbarNavAltMarkup\">\n                    &lt;div class=\"navbar-nav\">\n                        &lt;a class=\"nav-link\" href=\"index.php\">Listing&lt;\/a>\n                        &lt;a class=\"nav-link active\" aria-current=\"page\" href=\"add.php\">Add New&lt;\/a>\n                    &lt;\/div>\n                &lt;\/div>\n            &lt;\/div>\n        &lt;\/nav>\n    &lt;\/header>\n    &lt;h3>Edit Document&lt;\/h3>\n    &lt;form onsubmit=\"return false;\">\n        &lt;input type=\"hidden\" class=\"form-control\" id=\"id\">\n        &lt;div class=\"mb-3\">\n            &lt;label for=\"name\" class=\"form-label\">Name&lt;\/label>\n            &lt;input type=\"text\" class=\"form-control\" id=\"name\" autofocus>\n        &lt;\/div>\n        &lt;div class=\"mb-3\">\n            &lt;label for=\"exampleInputPassword1\" class=\"form-label\">Age&lt;\/label>\n            &lt;input type=\"text\" class=\"form-control\" id=\"age\">\n        &lt;\/div>\n        &lt;div class=\"mb-3\">\n            &lt;label for=\"city\" class=\"form-label\">City&lt;\/label>\n            &lt;input type=\"text\" class=\"form-control\" id=\"city\">\n        &lt;\/div>\n        &lt;button class=\"btn btn-primary\" onclick=\"return putData()\">Update&lt;\/button>\n        &lt;a href=\"index.php\" class=\"btn btn-primary\">Cancel&lt;\/a>\n    &lt;\/form>\n    &lt;footer class=\"footer mt-auto py-3 bg-light\">\n        &lt;div class=\"container text-center\">\n            &lt;span class=\"text-muted\">right &amp;copy; 2021&lt;\/span>\n        &lt;\/div>\n    &lt;\/footer>\n&lt;\/body>\n&lt;script src=\"script.js\">&lt;\/script>\n&lt;script>\n    const urlParams = new URLSearchParams(window.location.search);\n    const id = urlParams.get('id');\n    getDataById(id);\n&lt;\/script>\n\n&lt;\/html><\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MySQL Schema REST API rest_api.php FRONT END script.js index.php add.php edit.php<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2185"}],"collection":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/comments?post=2185"}],"version-history":[{"count":2,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2185\/revisions"}],"predecessor-version":[{"id":2187,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2185\/revisions\/2187"}],"wp:attachment":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/media?parent=2185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/categories?post=2185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/tags?post=2185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}