Kumpul4semut Com Tutorial Lengkap Crud Codeigniter 4 Dan React Js 2 Create Data
Kumpul4semut Com Tutorial Lengkap Crud Codeigniter 4 Dan React Js 2 Create Data
database.default.hostname = localhost
database.default.database = ci4
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
Penjelasan!
Disini saya membuat database bernama ci4 dan saya menggunakan
xmpp window 10 jadi untuk passwordnya saya kosongkan. Teman‐
teman sesuaikan saja.
php spark migrate:create quotes
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class Quotes extends Migration
{
public function up()
{
$this‐>forge‐>addField([
$this‐>forge‐>addField([
'quote_id' => [
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
],
'quotes' => [
'type' => 'VARCHAR',
'constraint' => '100',
],
]);
$this‐>forge‐>addKey('quote_id', TRUE);
$this‐>forge‐>createTable('quotes');
}
//‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
public function down()
{
$this‐>forge‐>dropTable('quotes');
}
}
php spark migrate
$routes‐>resource('quotes');
Penjelasnnya!
$routes‐>get('quotes/new', 'Quotes::new');
$routes‐>post('quotes', 'Quotes::create');
$routes‐>get('quotes', 'Quotes::index');
$routes‐>get('quotes/(:segment)', 'Quotes::show/$1');
$routes‐>get('quotes/(:segment)/edit', 'Quotes::edit/$1');
$routes‐>put('quotes/(:segment)', 'Quotes::update/$1');
$routes‐>patch('quotes/(:segment)', 'Quotes::update/$1');
$routes‐>delete('quotes/(:segment)', 'Quotes::delete/$1');
Jadi cukup sebaris yang tadi saja. Ya walaupun kita tidak akan pakai
semua langsung kali ini kita hanya butuh
namespace App\Controllers;
use CodeIgniter\RESTful\ResourceController;
class Quotes extends ResourceController
{
protected $format = 'json';
protected $modelName = 'App\Models\Quotes_model';
public function create()
{
$quote = $this‐>request‐>getPost('quote');
$data = [
'quote' => $quote,
];
$simpan = $this‐>model‐>insertQuotes($data);
if ($simpan) {
$msg = ['message' => 'Created quote successfully'];
$response = [
'status' => 200,
'error' => false,
'data' => $msg,
];
return $this‐>respond($response, 200);
}
}
}
Penjelasannya!.
Berikut kodenya:
<?php
namespace App\Models;
use CodeIgniter\Model;
class Quotes_model extends Model
{
protected $table = 'quotes';
public function insertQuotes($data)
{
return $this‐>db‐>table($this‐>table)‐>insert($data);
}
}
}
Baik sampai sini kita sudah berhasil membuat api create data atau
tambah data menggunakan codeigniter 4. Selanjutnya kita akan
pakai api tersebut dengan react js.
Baik disini kita akan pakai boostrap untuk templatenya jadi silahkan
masukan kode ke view codigeniternya .Karena saya belum
mengubah view deafultnya jadi saya mengubah viewnya di
file app/Views/welcome_message.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF‐8">
<title>Welcome to CodeIgniter 4 + React.js!</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
<style>
.navbar {
margin‐bottom: 20px;
}
</style>
</head>
<body>
<!‐‐ from react ‐‐>
<div id="app"></div>
<!‐‐ end from react ‐‐>
<script src="/dist/main.js" charset="utf‐8"></script>
</body>
</html>
Kalian bisa simpan di folder react nya buat saja folder baru
bernama src yang didalamanya ada folder components
Component header
import React, { Component } from "react";
export default class Header extends Component {
render() {
return (
<nav class="navbar navbar‐expand‐lg navbar‐light bg‐light">
<div class="container">
<a class="navbar‐brand" href="#">
CI4&react
</a>
<button
class="navbar‐toggler"
type="button"
data‐toggle="collapse"
data‐target="#navbarNav"
aria‐controls="navbarNav"
aria‐expanded="false"
aria‐label="Toggle navigation"
>
<span class="navbar‐toggler‐icon"></span>
</button>
<div class="collapse navbar‐collapse" id="navbarNav">
<ul class="navbar‐nav">
<li class="nav‐item active">
<a class="nav‐link" href="#">
Home <span class="sr‐only">(current)</span>
</a>
</li>
</ul>
</div>
</div>
</nav>
);
}
}
component home
import React, { Component } from "react";
export default class Home extends Component {
constructor(props) {
super(props);
this.state = {
quotes: "",
};
this.onChange = this.onChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
onChange(event) {
this.setState({ quotes: event.target.value });
}
handleSubmit(event) {
fetch("http://localhost:8080/quotes/create", {
method: "post",
headers: {
Accept: "application/json",
"Content‐Type": "application/x‐www‐form‐urlencoded",
},
body: `quote=${this.state.quotes}`,
})
.then((respon) => respon.json())
.then((ra) => {
if ((ra.status = +200)) {
alert("Data saved");
} else {
alert("Data don't saved");
}
});
event.preventDefault();
}
render() {
return (
<div class="container">
<div class="row">
<div class="col">
<div class="d‐flex justify‐content‐center">
<form onSubmit={this.handleSubmit}>
<label>
<input
type="text"
name="name"
class="form‐controll"
value={this.state.quotes}
onChange={this.onChange}
/>
</label>
<input
class="btn btn‐primary btn‐sm"
type="submit"
value="Add Quotes"
/>
</form>
</div>
</div>
</div>
</div>
);
}
}
import React, { Component } from "react";
import ReactDOM from "react‐dom";
import Header from "./src/components/Header";
import Home from "./src/components/Home";
export default class App extends Component {
render() {
return (
return (
<div className="App">
<Header />
<Home />
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById("app"));
Penjelasanya!
webpack ‐‐watch
itu akan membaca setiap perubahan file react js nya. Baik sekian
dulu semoga paham terima kasih.
Tutorial Lengkap CRUD Codeigniter 4 dan React js Tutorial Lengkap CRUD Codeigniter 4 dan React js #3
#1 Persiapan Show Data
Balas
admin
Oktober 14, 2020 pukul 12:57 am
Tinggalkan Balasan
Komentar
Nama *
Email *
Situs Web
Simpan nama, email, dan situs web saya pada peramban ini untuk
komentar saya berikutnya.
Kirim Komentar
Kategori
codeigniter 4 ﴾5﴿
PHP ﴾4﴿
Python ﴾7﴿
react js ﴾5﴿
Termux ﴾5﴿
vps ﴾1﴿