{"id":688,"date":"2021-12-28T09:14:32","date_gmt":"2021-12-28T02:14:32","guid":{"rendered":"https:\/\/duniacoding.info\/?p=688"},"modified":"2021-12-28T09:14:33","modified_gmt":"2021-12-28T02:14:33","slug":"belajar-php-fitur-edit-pada-php","status":"publish","type":"post","link":"https:\/\/duniacoding.id\/blog\/belajar-php-fitur-edit-pada-php\/","title":{"rendered":"Belajar PHP #14 : Fitur Edit pada PHP"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"467\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/carbon-1-1-1024x467.png\" alt=\"Fitur Edit pada PHP\" class=\"wp-image-714\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-1-1-1024x467.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-1-1-300x137.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-1-1-768x350.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-1-1-1536x701.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-1-1.png 1548w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Setelah selesai dengan fitur Input dan Delete, sekarang kita akan terfokus untuk untuk Fitur terakhir yaitu <code>Fitur Edit pada PHP<\/code>. Fitur  ini merupakan Fitur terakhir dari CRUD (Create, Read, Update, dan Delete). Ini adalah artikel terakhir dari Artikel <code>PHP dasar <\/code>kali ini. Seperti fitur sebelumnya, kita sebenarnya bisa menggunakan Fitur ini langsung dari Database <code>Phpmyadmin <\/code>kita, akan tetapi kita akan terfokus melakukan ini dari Website kita.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penjelasan Fitur Edit pada PHP<\/h2>\n\n\n\n<p>Seperti fungsi-fungsi sebelumnya, Fungsi edit pada PHP ini menggunakan juga menggunakan <code>SQL <\/code>sebagai Dasar dari Fungsinya. Sebenarnya kita bisa menggunakan Fungsi <code>UPDATE<\/code> pada <code>SQL <\/code>kita. Tapi sekarang aku lebih memilih menggunakan fungsi <code>INSERT <\/code>dengan tambahan <code>ON DUPLICATE KEY UPDATE<\/code>, mungkin aku berikan dulu contoh <code>SQL <\/code>yang akan digunakan.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nINSERT INTO siswa(id , nama_siswa, email, jenis_kelamin)  VALUES (&#039;&quot; . $id . &quot;&#039;,&#039;&quot; . $nama_siswa . &quot;&#039;,&#039;&quot; . $email . &quot;&#039;, &#039;&quot; . $jenis_kelamin . &quot;&#039;) ON DUPLICATE KEY UPDATE id=VALUES(id), nama_siswa=VALUES(nama_siswa), email=VALUES(email), jenis_kelamin=VALUES(jenis_kelamin)\n<\/pre><\/div>\n\n\n<p>Bisa dilihat di SQL diatas, Kita menggunakan <code>INSERT<\/code> di fungsi kita. Nah logikanya, kita akan memberikan Input ke Database kita dengna ketentuan  <code>ON DUPLICATE KEY UPDATE<\/code>, yang artinya apabila isinya sama, maka akan dilakukan <code>UPDATE<\/code>, bukan menginputkan hal baru ke Database kita. <\/p>\n\n\n\n<p>Jadi misal kedepannya kita meng-edit <code>Siswa <\/code>dengan <code>id = 1<\/code>. Maka Siswa yang memiliki <code>id = 1<\/code> ini akan kita edit Datanya, dan apabila Datanya sama (Duplicate). Maka datanya tidak akan berubah. Okay mari kita praktekkan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Coding pada <code>index.php<\/code><\/h2>\n\n\n\n<p>Kita harus menambahkan suatu hal ke file <code>index.php<\/code> kita yaitu sebuah <code>Link <\/code>untuk mengarahkan kita ke Halaman Khusus untuk<code> Edit Siswa<\/code>. Hal ini sama persis seperti saat kita menambahkan <code>Link <\/code>\/ <code>Tombol Delete<\/code> kita pada Artikel sebelumnya.<\/p>\n\n\n\n<p>Sekarang kita bisa tambahkan syntax seperti dibawah ini<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;a href=&quot;editSiswa.php?id=&lt;?= $item&#91;&#039;id&#039;] ?&gt;&quot;&gt;Edit&lt;\/a&gt;\n|\n<\/pre><\/div>\n\n\n<p>Dan seharusnya di Codingan kita sekarang tertulis seperti ini<\/p>\n\n\n\n<p>File index.php<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;td&gt;\n     &lt;a href=&quot;editSiswa.php?id=&lt;?= $item&#91;&#039;id&#039;] ?&gt;&quot;&gt;Edit&lt;\/a&gt;\n      |\n     &lt;a href=&quot;deleteSiswa.php?id=&lt;?= $item&#91;&#039;id&#039;] ?&gt;&quot;&gt;Delete&lt;\/a&gt;\n&lt;\/td&gt;\n<\/pre><\/div>\n\n\n<p>Nah, Link diatas akan mengarahkan kita ke file <code>editsiswa.php<\/code>, dan akan mengirimkan <code>id <\/code>kita untuk nantinya kita ambil dan kita <code>edit <\/code>Data yang berhubungan dengan <code>id <\/code>tersebut. Setelah Coding ditambahkan maka harusnya akan tampil seperti ini<\/p>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" width=\"1024\" height=\"165\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/14-1-1024x165.png\" alt=\"\" data-id=\"709\" data-full-url=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/14-1.png\" data-link=\"https:\/\/duniacoding.info\/?attachment_id=709\" class=\"wp-image-709\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-1-1024x165.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-1-300x48.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-1-768x124.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-1.png 1356w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Coding pada <code>SiswaController.php<\/code><\/h2>\n\n\n\n<p>Okay, sekarang kita akan menambahkan dua <code>fungsi<\/code> terakhir di <code>Controller <\/code>kita. Fungsi Edit pada PHP ini memerlukan dua <code>Fungsi <\/code>yang berbeda. Fungsi yang pertama adalah untuk memperlihatkan Data yang akan kita <code>Edit<\/code>. Jadi misal kita klik Edit pada Data Pertama. Maka akan muncul <code>nama<\/code>, <code>email<\/code>, dan <code>jenis kelamin <\/code>nya di Form kita.<\/p>\n\n\n\n<p>Kita akan menggunakan suatu <code>Fungsi<\/code>, dan <code>Fungsi <\/code>ini untuk mengambil <code>Data <\/code>berdasarkan <code>id<\/code>. <\/p>\n\n\n\n<p>File <code>SiswaController.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n        public function readSiswa($id)\n        {\n            $this-&gt;pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n            $query = &quot;SELECT * FROM siswa WHERE id = $id&quot;;\n            $stmt = $this-&gt;pdo-&gt;prepare($query);\n            $stmt-&gt;execute();\n            $result = $stmt-&gt;fetchAll();\n            return $result;\n        }\n<\/pre><\/div>\n\n\n<p>Bisa dilihat di syntax diatas kita menggunakan <code>SQL <\/code>yaitu <code>SELECT * FROM siswa WHERE id = $id<\/code> SQL ini digunakan sebelum Fitur Edit pada PHP kita gunakan, jadi Menampilkan data yang akan kita Edit. <\/p>\n\n\n\n<p>Setelah itu, kita akan membuat Sebuah <code>Fungsi<\/code> untuk meng-inputkan data yang kita edit. Fungsi ini akan menyempurnakan Fungsi edit pada PHP kita. Fungsi ini seperti SQL yang dijelaskan pada Penjelasan Fitur Edit pada PHP diatas.<\/p>\n\n\n\n<p>File <code>SiswaController.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\npublic function editSiswa($id, $nama_siswa, $email, $jenis_kelamin)\n        {\n            $this-&gt;pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n            $query = &quot;INSERT INTO siswa(id, nama_siswa, email, jenis_kelamin)  VALUES (&#039;&quot; . $id . &quot;&#039;,&#039;&quot; . $nama_siswa . &quot;&#039;,&#039;&quot; . $email . &quot;&#039;, &#039;&quot; . $jenis_kelamin . &quot;&#039;)\n            ON DUPLICATE KEY UPDATE id=VALUES(id), nama_siswa=VALUES(nama_siswa), email=VALUES(email), jenis_kelamin=VALUES(jenis_kelamin)&quot;;\n            $stmt = $this-&gt;pdo-&gt;prepare($query);\n            $stmt-&gt;execute();\n            return $stmt-&gt;rowCount();\n        }\n<\/pre><\/div>\n\n\n<p>Nah bisa dilihat diatas seperti yang dijelaskan diatas. Kita sudah membuat sebuah Fitur Input Edit dengan <code>SQL <\/code>yang ada. Di <code>SQL <\/code>itu kita menggunakan syntax <code>INSERT INTO<\/code>. Setelah itu Data yang kita inputkan akan jadi ter-update dengan sendirinya.<\/p>\n\n\n\n<p>Berikutnya kita tinggal membuat sebuah File untuk <code>Form<\/code> <code>Edit <\/code>kita.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Coding pada<code> editSiswa.php<\/code><\/h2>\n\n\n\n<p>Codingan disini akan mirip dengan codingan pada file <code>addSiswa.php<\/code>. Yaitu di Form ini akan langsung terlihat Data Default yang sebelumnya sudah terisi. Jadi kalau tidak kita edit pun nanti Datanya akan terinput dengan sendirinya itulah dasar dari FItur Edit pada PHP kita. <\/p>\n\n\n\n<p>File <code>editSiswa.php<\/code> akan menjalankan 2 <code>Fungsi <\/code>yang berbeda, pertama yaitu untuk menampilkan Data yang akan kita Edit. Kedua adalah Fungsi untuk menginput Data. Seperti ini syntaxnya<\/p>\n\n\n\n<p>File <code>editSiswa.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;?php\ninclude_once &#039;Controller\/SiswaController.php&#039;;\n$id = $_GET&#91;&#039;id&#039;];\n$siswa = new Siswa;\nif (isset($_POST&#91;&#039;submit&#039;])) {\n    $editSiswa = $siswa-&gt;editSiswa($_GET&#91;&#039;id&#039;], $_POST&#91;&#039;nama_siswa&#039;], $_POST&#91;&#039;email&#039;], $_POST&#91;&#039;jenis_kelamin&#039;]);\n    if ($editSiswa) {\n        echo &quot;&lt;script&gt;alert(&#039;Berhasil Mengedit Siswa&#039;);window.location = &#039;index.php&#039;;&lt;\/script&gt;&quot;;\n    }\n}\n?&gt;\n\n&lt;html lang=&quot;en&quot;&gt;\n\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;Edit Siswa&lt;\/title&gt;\n    &lt;link href=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/css\/bootstrap.min.css&quot; rel=&quot;stylesheet&quot; integrity=&quot;sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3&quot; crossorigin=&quot;anonymous&quot;&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;div class=&quot;container mt-5&quot;&gt;\n        &lt;h3&gt;Edit Siswa&lt;\/h3&gt;\n\n        &lt;?php\n        $data = $siswa-&gt;readSiswa($id);\n        foreach ($data as $data) {\n        ?&gt;\n            &lt;form action=&quot;&quot; method=&quot;post&quot; class=&quot;mt-5&quot;&gt;\n                &lt;div class=&quot;mb-3&quot;&gt;\n                    &lt;label for=&quot;nama_siswa&quot; class=&quot;form-label&quot;&gt;Nama Siswa&lt;\/label&gt;\n                    &lt;input type=&quot;text&quot; class=&quot;form-control&quot; id=&quot;nama_siswa&quot; name=&quot;nama_siswa&quot; value=&quot;&lt;?= $data&#91;&#039;nama_siswa&#039;] ?&gt;&quot;&gt;\n                    &lt;div id=&quot;nama_siswa&quot; class=&quot;form-text&quot;&gt;Inputkan Nama Siswa.&lt;\/div&gt;\n                &lt;\/div&gt;\n\n                &lt;div class=&quot;mb-3&quot;&gt;\n                    &lt;label for=&quot;email&quot; class=&quot;form-label&quot;&gt;Email&lt;\/label&gt;\n                    &lt;input type=&quot;email&quot; class=&quot;form-control&quot; id=&quot;email&quot; name=&quot;email&quot; value=&quot;&lt;?= $data&#91;&#039;email&#039;] ?&gt;&quot;&gt;\n                    &lt;div id=&quot;email&quot; class=&quot;form-text&quot;&gt;Inputkan email.&lt;\/div&gt;\n                &lt;\/div&gt;\n\n                &lt;div class=&quot;mb-3&quot;&gt;\n                    &lt;label for=&quot;jenis_kelamin&quot; class=&quot;form-label&quot;&gt;Jenis Kelamin&lt;\/label&gt;\n                    &lt;input type=&quot;text&quot; class=&quot;form-control&quot; id=&quot;jenis_kelamin&quot; name=&quot;jenis_kelamin&quot; value=&quot;&lt;?= $data&#91;&#039;jenis_kelamin&#039;] ?&gt;&quot;&gt;\n                    &lt;div id=&quot;jenis_kelamin&quot; class=&quot;form-text&quot;&gt;Inputkan Jenis Kelamin.&lt;\/div&gt;\n                &lt;\/div&gt;\n                &lt;input type=&quot;submit&quot; value=&quot;Edit Siswa&quot; name=&quot;submit&quot; class=&quot;btn btn-primary&quot;&gt;\n            &lt;\/form&gt;\n        &lt;?php\n        }\n        ?&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p>Kurang lebih tampilnya seperti ini<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"368\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/14-2-1024x368.png\" alt=\"\" class=\"wp-image-713\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-2-1024x368.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-2-300x108.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-2-768x276.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/14-2.png 1369w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Kesimpulan<\/h2>\n\n\n\n<p>Nah, kita sudah menyelesaikan Fitur CRUD yang terakhir yaitu Fitur Edit pada PHP. Disini kita juga sudah menerapkan konsep OOP untuk Fitur Edit pada PHP kita. Semoga Bermanfaat buat kita semua!<\/p>\n\n\n\n<p>Fitur Edit pada PHP ini wajib kita gunakan. Ini adalah Fitur yang sangat penting untuk kita pelajari. Oh iya, kalau temen-temen penasaran dengan Apa yang harus kita pelajari setelah ini. Teman-teman bisa mulai belajar Framework<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/duniacoding.info\/pentingnya-framework-bagi-developer\/\" target=\"_blank\" rel=\"noopener\">Mengapa Belajar Framework Penting Bagi Developer ?<\/a><\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Setelah selesai dengan fitur Input dan Delete, sekarang kita akan terfokus untuk untuk Fitur terakhir yaitu Fitur Edit pada PHP. Fitur ini merupakan Fitur terakhir dari CRUD (Create, Read, Update, dan&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":714,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[85,46,61],"class_list":["post-688","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-edit","tag-php","tag-tutorial-php"],"_links":{"self":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/688","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/comments?post=688"}],"version-history":[{"count":3,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/688\/revisions"}],"predecessor-version":[{"id":715,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/688\/revisions\/715"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media\/714"}],"wp:attachment":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media?parent=688"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/categories?post=688"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/tags?post=688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}