Sebelum menjelaskan lebih jauh, artikel ini merupakan lanjutan dari artikel sebelumnya tentang pivot tabel dinamis di MySQL, pada kali ini penulis akan mencontohkan penggunaannya pada codeigniter. JIka anda perhatkan pada video pembuka ketika belum ada siswa yang melakukan pendaftaran maka data akan kosong sama sekali, namun ketika ada siswa yang membayar satu jenis tagihan maka otomatis seluruh data siswa akan ditampilkan plus dengan jenis pembiayaan yang telah dibayar oleh siswa yang pertama kali membayar, ketika ada pembayaran berikutnya baik oleh siswa yang sama atau siswa yang berbeda namun berbeda jenis pembiayaan, maka akan terdapat satu kolom baru jenis pembiayaan dengan berisi nominal rupiah yang terisi pada perpotongan kolom jenis pembayaran dan baris siswa yang membayarnya, inilah yang penulis maksud dengan pivot tabel dinamis dalam keseharian orang awam sering menyebutnya dengan tabel rekapitulasi, sebelumnya penulis pernah menulis tentang pivot tabel statis silahkan baca diartikel ini.
Ok jika anda pembaca sekalian sudah tidak sabar bagaimana membuatnya berikut langkah-langkahnya :
Fahami dan ikuti langkah-langkah persiapan membuat database, tabel, view dan stored procedure yang dibutuhkan untuk praktek kali ini di artikel sebelumnya.
- Download codeigniter, extract di htdocs
- Seting config.php, database.php, serta library dan helper yang dibutuhkan (penulis menganggap anda sudah memahami dasar konfigurasi CodeIgniter), berikut adalah library dan helper pada potongan autoload
- Edit file routes.php dan arahkan default_route ke pivot_tabel
- Buat controller Pivot_tabel dengan cara membuat file pivot_tabel.php di folder controllers
- Buat model M_pivot_tabel dengan cara membuat file m_pivot_tabel.php di folder models
- Buat view v_pivot_tabel dengan cara membuat file v_pivot_tabel.php di folder views
- Untuk mempermudah pemahaman, silahkan download script yang sudah jadi !
permisi numpang tanya kalo syntax ini yang salah apanya?
BEGIN
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
‘max(IF(idPertanyaan= ‘,
idPertanyaan,
‘, jawaban, NULL)) AS ‘,
idPertanyaan
)
) INTO @sql
FROM respond;
SET @sql = CONCAT(‘SELECT respond.idmember, respond.nama, respond.umur, respond.Jenis_Kelamin, respond.Pendidikan, respond.Pekerjaan ‘, @sql, ‘ FROM respond
GROUP BY respond.idmember’);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
errornya
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘max(IF(idPertanyaan= PTN1001, jawaban, NULL)) AS PTN1001,max(IF(idPertanyaan= PT’ at line 1
call all_respond()
mohon bantuannya
padahal udah sama terus call prosedur yang anda buat bisa
perhatikan bagian delimiter di PHPMYADMIN dibawah kotak QUERY, diisi selain tanda ; (titik koma) misal // (double blackslash) atau $$ (doyble dollar)
masih error, seperti ini errornya:
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
‘MAX(IF(id’ at line 2
tidak adakah screenshot-an dari hasil kodingannya untuk dilihat?
Maaf sy tidak membuat screenshoot nya
thanks for the tutorial, just one question, how do we filter the stored procedure dynamically from CodeIgniter since the procedure query already been created and CodeIgniter just call it?
Thanks for your attention, yes you just call it’s for any action like insert, select, update or delete you just call the stored procedure you have
what about if we need to dynamically filter the result? for example, user select dropdown BRAND, and we need to dynamically put the BRAND ID into the prepared statement having clause?
you must create stored procedure with input parameter..read https://www.mssqltips.com/sqlservertutorial/162/how-to-create-a-sql-server-stored-procedure-with-parameters/.
I have not yet created the next stored procedure series article. If you do not mind please follow my blog
file jurnal nya mana gan ??
Maksudnya ??? kan bisa download -> https://drive.google.com/open?id=0Bw71YrQetCo3N0hvX2JidURMaWc
hallo, saya sudah bisa menjalankan projeknya, namun ketika saya copy ke projek saya sesuai dg kebutuhan terdapat missing pada call rekap_bayaran. dimana procedure rekap_bayaran itu ya?
terima kasih
silahkan baca artikel sebelumnya http://ozs.web.id/2016/04/membuat-pivot-tabel-dinamis-di-mysql-dengan-stored-procedure/
minta petunjuk instalasinya donk
kok punya saya error data base
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: D:\xampplite\htdocs\pivot\system\database\DB_driver.php
Line Number: 124