Membuat Grafik Dari Database Codeigniter 4
15909 단어 tutorialphpcodeigniterwebdev
Paling tidak anda harus tau cara memasang dan menjalankan project codeigniter 4 jika ingin membaca tutorial ini.Jika belum paham bisa baca disini .
4월 3일 인도네시아 sampai bulan에서 데이터 kasus 코로나에 대한 보고서를 작성했습니다.
파일 SqlDownload Disini
Kalau tidak paham cara import bisa dilihat disini
Setelah membuat project baru codeigniter 4 jangan lupa ubah setting database di file .env
Pastikan 파일 env sudah ada titiknya .env karena secara default belum ada saat membuat project baru.
Kemudian cari 설정 데이터베이스 seperti dibawah ini lalu sesuaikan:
database.default.hostname = localhost
database.default.database = ci4chart
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
Ubah juga mode CI_ENVIRONMENT menjadi development agar lebih mudah dalam proses debugging.
멤부아트 모델
폴더에 있는 CoronaModel.php 파일은 app/Models/CoronaModel.php 폴더에 있으며 코드는 다음과 같습니다.
<?php namespace App\Models;
use CodeIgniter\Model;
class CoronaModel extends Model
{
protected $table = 'corona';
}
Kalau yang kita pakai fungsi orm database bawaan codeigniter 4, tidak perlu membuat fungsi di Models.Hanya isi dengan nama tabel.
메모리 컨트롤러
컨트롤러 홈 파일은 app/Controllers/Home.php 폴더에 있으며 코드는 다음과 같습니다.
<?php namespace App\Controllers;
use App\Models\CoronaModel;
class Home extends BaseController
{
public function index()
{
$bulan = $this->request->getGet('bulan');
// jika tidak ada ambil bulan sekarang
$bulan = $bulan?$bulan:Date("m");
return view('index');
}
public function apiData($bulan){
$corona = new CoronaModel();
$corona->where('tgl >=',"2020-{$bulan}-01");
$corona->where('tgl <=',"2020-{$bulan}-31");
$corona->orderBy('tgl','asc');
echo json_encode($corona->get()->getResult());
}
}
컨트롤러 키타 부아트 두아 펑시 양 pertama 색인 untuk menampilkan view,dan fungsi apiData untuk mengambil data and mengembalikan dalam bentuk json.
Karena kita akan mengambil data untuk grafik menggunakan ajax.
멤뷰아트 뷰
index.php 파일은 app/Views/index.php 폴더에 있으며 코드는 다음과 같습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Aplikasi Chart Sederhana</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-3">
<div class="row">
<div class="col-md-3">
<label for="">Pilih Bulan</label>
<select id="bulan" class="form-control">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4" selected="">4</option>
</select>
</div>
</div>
</div>
<div id="container"></div>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.js"></script>
<script>
// Chart
const options = {
chart: {
type: 'spline',
events: {
load: getData(4)
}
},
title: {
text: 'Corona Virus Indonesia'
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
day: '%e of %b'
}
},
series: [
{
name:'Kasus',
data:[],
pointStart: Date.UTC(2020, 3, 1),
pointInterval: 24 * 3600 * 1000 // one day
}
]
};
const chart = Highcharts.chart('container', options)
// Data
$("#bulan").change(function(){
const val = $(this).val();
getData(val);
})
function getData(bulan) {
const url = `/home/apiData/${bulan}`;
$.getJSON(url,function(data) {
const p =[];
data.map((obj) => {
p.push(parseInt(obj.jumlah))
});
chart.series[0].update({
data:p,
pointStart: Date.UTC(2020, bulan-1, 1)
})
chart.redraw();
})
}
</script>
</body>
</html>
Kita menggunakan boostrap4,highchart.js 및 jquery.Terdapat juga combo yang akan menampilkan data berdasarkan bulan yang dipilih 보기.
Setelah semua langkah selesai.Kemudian masuk ke 폴더 프로젝트 dari terminal/CMD kemudian ketikkan php spark serve dan bukan http://localhost:8080 .
Maka akan terlihat hasil seperti gambar dibawah ini.
프로젝트를 다운로드할 때 다운로드https://github.com/medanincode/ci4chart.git
Reference
이 문제에 관하여(Membuat Grafik Dari Database Codeigniter 4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/medan_in_code/membuat-grafik-dari-database-codeigniter-4-57k1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)