Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67478 Members, 783 Products, 5290 Topic, 12955 Comments)

Cara join tabel berita dan kategori pada list berita di web Sekolah Ci

Dibuat
Login Terakhir 1 Tahun lalu,
Telah Dilihat 5217 Kali
cut khsatijah Mengatakan : Sultan Account
  1. Salamat siang mas robby,
  2. Saya ingin menampilkan field kategori misal 'nama kategori' di dalam tabel list berita.. Saya coba kok tidak mau tampil..mas. Alias kosong.
  3. No., Berita, kategori
  4. Mohon bantuannya mas.. Terimakasih

Ada 29 Jawaban

cut khsatijah
commented on 16 Jan 2018 14:16:23
  1. Field 'nama_kategori' dalam tabel kategori
PHPMU.COM Support
commented on 17 Jan 2018 07:38:31
  1. Assalam, pastikan query pada list berita sudah di join dengan table kategorinya mas,..
  2. SELECT a.*, b.nama_kategori FROM berita a JOIN kategori b ON a.id_kategori=b.id_kategori
  3.  
  4. List berita yang dimaksud pada back end / halaman admin kah mas?
  5. jika benar, maka bisa diperbaiki query listberita pada file "Application/controllers/Administrator.php" baris 321:
  6. <?php
  7. if ($this->session->level=='admin'){
  8. $data['record'] = $this->model_app->view_ordering('berita','id_berita','DESC');
  9. }else{
  10. $data['record'] = $this->model_app->view_where_ordering('berita',array('username'=>$this->session->username),'id_berita','DESC');
  11. }
  12. ?>
  13.  
  14. Perbaiki Menjadi :
  15. <?php
  16. if ($this->session->level=='admin'){
  17. $data['record'] = $this->model_app->view_join_one('berita','kategori','id_kategori','id_berita','DESC');
  18. }else{
  19. $data['record'] = $this->model_app->view_join_where('berita','kategori','id_kategori',array('username'=>$this->session->username),'id_berita','DESC');
  20. }
  21. ?>
cut khsatijah
commented on 17 Jan 2018 08:37:55
  1. waalaikumsalam
  2. mksh mas, sudah fix
  3.  
  4. saya mau join tiga tabel atau lebih mas di tabel admin, bagaimana caranya.??
  5. apakah sama juga seperti di atas atau ada yg harus di ubah?
  6. #efek error.
  7.  
  8. berita, kategori dan nama_lengkap.
  9.  
  10.  
  11. nama_lengkap dari tabel users.
cut khsatijah
commented on 17 Jan 2018 08:41:17
  1. karena berita itu ada yang dari distributor, supaya mudah untuk mengetahui dari list berita admin siapa yang membuat berita tersebut dan saya mau ada namanya gitu mas Robby.
PHPMU.COM Support
commented on 17 Jan 2018 09:07:44
  1. Pada "application/models/model_app.php' tambahkan saja function baru ini :
  2. <?php
  3. public function listberita(){
  4. $this->db->select('a.*, b.nama_kategori, c.nama_lengkap');
  5. $this->db->from('berita a');
  6. $this->db->join('kategori b', 'a.id_kategori=b.id_kategori');
  7. $this->db->join('users c', 'a.username=c.username');
  8. $this->db->order_by('id_berita',"DESC");
  9. return $this->db->get()->result_array();
  10. }
  11. ?>
  12.  
  13. Selanjutnya pada query listberita pada file "Application/controllers/Administrator.php" baris 321:
  14. <?php
  15. if ($this->session->level=='admin'){
  16. $data['record'] = $this->model_app->view_ordering('berita','id_berita','DESC');
  17. }else{
  18. $data['record'] = $this->model_app->view_where_ordering('berita',array('username'=>$this->session->username),'id_berita','DESC');
  19. }
  20. ?>
  21.  
  22. Perbaiki Menjadi :
  23. <?php
  24. if ($this->session->level=='admin'){
  25. $data['record'] = $this->model_app->listberita();
  26. }else{
  27. $data['record'] = $this->model_app->view_join_where('berita','kategori','id_kategori',array('username'=>$this->session->username),'id_berita','DESC');
  28. }
  29. ?>
cut khsatijah
commented on 17 Jan 2018 12:01:27
  1. sudah saya ubah tp skrg erronya di menu list berita kontributornya mas robby ... :D
  2.  
  3.  
  4.  
  5.  
Terdapat 1 File dilampirkan :
1. error11.jpg (39 KB)
cut khsatijah
commented on 17 Jan 2018 12:04:54
  1. A Database Error Occurred
  2. Error Number: 1052
  3.  
  4. Column 'username' in where clause is ambiguous
  5.  
  6. SELECT * FROM `berita` JOIN `kategori` ON `berita`.`id_kategori`=`kategori`.`id_kategori` WHERE `username` = 'ekayunita' ORDER BY `id_berita` DESC
  7.  
  8. Filename: D:/xampp/htdocs/berita_v1/application/models/Model_app.php
  9.  
  10. Line Number: 63
cut khsatijah
commented on 17 Jan 2018 13:10:16
  1. nama yang keluar di menu admin di list berita , nama admin sendri bukan nama distributor/ org yang menulis berita.
PHPMU.COM Support
commented on 17 Jan 2018 18:38:47
  1. Itu yang error pake query yang mana mas,
  2. di atas sudah saya kasih querynya :
  3. <?php
  4. public function listberita(){
  5. $this->db->select('a.*, b.nama_kategori, c.nama_lengkap');
  6. $this->db->from('berita a');
  7. $this->db->join('kategori b', 'a.id_kategori=b.id_kategori');
  8. $this->db->join('users c', 'a.username=c.username');
  9. $this->db->order_by('id_berita',"DESC");
  10. return $this->db->get()->result_array();
  11. }
  12. ?>
  13.  
  14. jika mau dibuat query untuk kontributor/users bisa tambahkan pada querynya menjadi :
  15. <?php
  16. public function listberita_users($username){
  17. $this->db->select('a.*, b.nama_kategori, c.nama_lengkap');
  18. $this->db->from('berita a');
  19. $this->db->join('kategori b', 'a.id_kategori=b.id_kategori');
  20. $this->db->join('users c', 'a.username=c.username');
  21. $this->db->where('a.username',$username);
  22. $this->db->order_by('id_berita',"DESC");
  23. return $this->db->get()->result_array();
  24. }
  25. ?>
  26.  
  27. Berarti pada controller nya menjadi seperti ini nanti :
  28. <?php
  29. if ($this->session->level=='admin'){
  30. $data['record'] = $this->model_app->listberita();
  31. }else{
  32. $data['record'] = $this->model_app->listberita_users($this->session->username);
  33. }
  34. ?>
cut khsatijah
commented on 17 Jan 2018 20:46:01
  1. Alhamdulillah jalan juga mas robby hehe ????????mksh banyak???? ohya.. Kenapa harus berubah nama si pembuat berita, ketika berita itu di edit oleh admin.. Otomatis sudah berubah dri nama kontributor ke nama admin. Dan berita d kontributor hilang ketika sudah d edit sama admin..., Pdhl Saya menaruh skornya d berita tsb.. Setiap berita yg d update oleh konstributor. Kalau hilang kan otomatis skotnya juga hilang. Bagaimana caranya berita konstributr ttap tdk hilang atau berubah nama si pembuat walaupun di edit oleh admin. ????
PHPMU.COM Support
commented on 19 Jan 2018 12:13:14
  1. Bisa diperbaiki pada file "application/controller/administrator.php"
  2. cari function edit_listberita() baris 415 dan kemudian pada aksi/query update hapus baris 447 dan 465 hapus :
  3. 'username'=>$this->session->username,
  4. selesai, dan silahkan di coba lagi,.. :)
cut khsatijah
commented on 22 Jan 2018 07:11:49
  1. Mksh sekali lagi dan lagi.. Hheee
  2.  
  3. Ohya.. Mas robby.. Untuk melihat berita bukan edit. Ttpi melihat data berita atau suatu berita saja. Saya pake read only jelek nampaknya. :D
  4. Untuk melihat muncul seperti popup gitu gmn ya mas?
cut khsatijah
commented on 23 Jan 2018 09:06:54
  1. Mas robby... Untuk membuat nilai pada suatu berita apakah harus saya buat field di table lagi.. Seperti kolom nilai dan nilai total?
PHPMU.COM Support
commented on 23 Jan 2018 16:47:52
  1. Assalam, iya mas mesti buat 1 filed baru di database dan pada form edit ditambahkan juga inputannya,..
  2. jadi di saat berita di edit maka bisa di isikan disana nilainya,...
  3.  
  4. untuk memunculkan total nilai per-penulis mungkin bisa gunakan query :
  5. SELECT sum(nilai) as nilai FROM berita where username='$row[username]'
cut khsatijah
commented on 23 Jan 2018 22:38:46
  1. Waalaikumsalam.. Untuk nilainya saya masukkan di kategori mas.
  2. Jdi total nilai tergantung berita yg di buat. untuk membuat total nilai saya taruh di listberita controller administrator atau di view administrator listberita? Mksh mas atas responnya..
cut khsatijah
commented on 24 Jan 2018 10:46:49
  1. selamat pagi mas robby dimana taruh query ini SELECT sum(nilai) as nilai FROM berita where username='$row[username]' ?
  2.  
PHPMU.COM Support
commented on 24 Jan 2018 12:05:27
  1. Oke mas, querynya bisa ditempatkan langsung pada file :
  2. "application/views/administrator/mod_users/view_users.php"
  3.  
  4. Sehingga nanti menjadi seperti berikut :
  5. <?php
  6. $no = 1;
  7. foreach ($record as $row){
  8. $jml = $this->db->query("SELECT sum(nilai) as nilai FROM berita where username='$row[username]")->row_array();
  9. if ($row['foto'] == ''){ $foto ='blank.png'; }else{ $foto = $row['foto']; }
  10. echo "<tr><td>$no</td>
  11. <td>$row[username]</td>
  12. <td>$row[nama_lengkap]</td>
  13. <td>$row[email]</td>
  14. <td><img style='border:1px solid #cecece' width='40px' class='img-circle' src='".base_url()."asset/foto_user/$foto'></td>
  15. <td>$row[blokir]</td>
  16. <td>$row[level]</td>
  17. <td>$jml[nilai]</td>
  18. <td><center>
  19. <a class='btn btn-success btn-xs' title='Edit Data' href='".base_url()."administrator/edit_manajemenuser/$row[username]'><span class='glyphicon glyphicon-edit'></span></a>
  20. <a class='btn btn-danger btn-xs' title='Delete Data' href='".base_url()."administrator/delete_manajemenuser/$row[username]' onclick=\"return confirm('Apa anda yakin untuk hapus Data ini?')\"><span class='glyphicon glyphicon-remove'></span></a>
  21. </center></td>
  22. </tr>";
  23. $no++;
  24. }
  25. ?>
  26.  
cut khsatijah
commented on 24 Jan 2018 13:23:20
  1. mas robby ini yang di tampilkan, terjadi error . ohya saya membuat kolom nilai di tabel 'kategoriberita'
  2. saya maunya kntributor mendapat nilainya sesuai kategoriberita yg di input dan hasil nilai keluar sesuai jumlah berita yang di posting
  3.  
  4. Manajemen Users
  5. Tambahkan Data
  6. A Database Error Occurred
  7. Error Number: 1054
  8.  
  9. Unknown column 'nilai' in 'field list'
  10.  
  11. SELECT sum(nilai) as nilai FROM berita where username='khatijah'
  12.  
  13. Filename: D:/xampp/htdocs/berita/application/views/administrator/mod_users/view_users.php
  14.  
  15. Line Number: 31
  16.  
  17. No Username Nama Lengkap Nip Alamat Email Foto Blokir Level Total Nilai Action
cut khsatijah
commented on 24 Jan 2018 13:32:32
  1. apakah bisa , saya masukkan kategori berita+nilai ketika menginput berita maka otomatis nilainya juga ikut terinput?
PHPMU.COM Support
commented on 24 Jan 2018 14:20:21
  1. iya mas harus buat field/kolom baru dulu,..
  2. jik mau seperti itu maka tambahkan kolom/field barunya pada table kategori saja,..
  3. dan otomatis querynya juga ikut berubah nanti untuk menghitung total point per-penulisnya menjadi :
  4. SELECT sum(b.nilai) as nilai FROM berita a JOIN kategori b ON a.id_kategori=b.id_kategori where a.username='$row[username]'
cut khsatijah
commented on 24 Jan 2018 15:03:24
  1. Dan set status gmn mas? Biar jangan di hitung juga nilai yg belum di verifikasi.
cut khsatijah
commented on 24 Jan 2018 15:37:57
  1. Dan cara menampilkan total nilai di dashbord bagaimana ya mas robby? :)
  2.  
Terdapat 1 File dilampirkan :
1. IMG_20180124_153307.jpg (7 MB)
PHPMU.COM Support
commented on 26 Jan 2018 08:35:18
  1. untuk set status tinggal tambahkan kondisi statusnya yang di publish,
  2. kalau pada querynya where status='Y' menjadi :
  3. SELECT sum(b.nilai) as nilai FROM berita a JOIN kategori b ON a.id_kategori=b.id_kategori where a.username='$row[username]' AND status='Y'
cut khsatijah
commented on 27 Jan 2018 14:56:05
  1. mksh mas robby, ohya.. bagaimana untuk membuat laporan bulanan dan tahunan yang mencakup , si user+berita+kategori+total nilai ?
cut khsatijah
commented on 27 Jan 2018 14:57:41
  1. dan satu lagi mas robby, kalau di http jalannya normal ketika saya ubah ke https kok udah hancur gitu ya :D
  2.  
  3. mohon pencerahannya juga mas robby
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!