How to send parameter in server-side?

How to send parameter in server-side?

odydaharyodydahary Posts: 19Questions: 3Answers: 0

Hello, all.
I have a problem when I send parameters to the server to display some data, this is my code

<?php

// DataTables PHP library
include( "../lib/DataTables.php" );
if (isset($_POST['idd'])) {
    $idd=$_POST['idd'];
}
// Alias Editor classes so they are easy to use
use
    DataTables\Editor,
    DataTables\Editor\Field,
    DataTables\Editor\Format,
    DataTables\Editor\Mjoin,
    DataTables\Editor\Options,
    DataTables\Editor\Upload,
    DataTables\Editor\Validate,
    DataTables\Editor\ValidateOptions;


/*
 * Example PHP implementation used for the joinSelf.html example - the basic idea
 * here is that the join performed is simply to get extra information about the
 * 'manager' (in this case, the name of the manager). To alter the manager for
 * a user, you would change the 'manager' value in the 'users' table, so the
 * information from the join is read-only.
 */
Editor::inst( $db, 'tbl_nilai','id_nilai')
    
->field( 
        Field::inst('tbl_nilai.id_nilai'),
        Field::inst( 'tbl_nilai.id_siswa' )
            ->options( Options::inst()
                ->table('tbl_siswa')
                ->value('id_siswa')
                ->label('nama_siswa')

            ),
        Field::inst('s.nama_siswa'),
        Field::inst( 's.id_pk' )//relasi antara tbl_siswa dan tbl_ploting
            ->options( Options::inst()
                ->table('tbl_ploting')
                ->value('id_pk')
                ->label('nama_pk')

            ),
        Field::inst( 'p.nama_pk' ),
        Field::inst( 'p.id_jurusan' )//relasi antara tbl_ploting dengan tbl_jurusan
            ->options( Options::inst()
                ->table('tbl_jurusan')
                ->value('id_jurusan')
                ->label('nama_jurusan')

            ),
        Field::inst( 'j.nama_jurusan' ),
        Field::inst( 'p.id_kelas' )//relasi antara tbl_ploting dan tbl kelas
            ->options( Options::inst()
                ->table('tbl_kelas')
                ->value('id_kelas')
                ->label('nama_kelas')

            ),
        Field::inst( 'k.nama_kelas' ),
        Field::inst( 'tbl_nilai.id_mapel' )
            ->options( Options::inst()
                ->table( 'tbl_mapel' )
                ->value( 'id_mapel' )
                ->label('nama_mapel')
            ),
        Field::inst( 'm.id_mapel' ),
        Field::inst( 'm.nama_mapel' ),
        Field::inst( 'tbl_nilai.id_ta' )
            ->options( Options::inst()
                ->table( 'thn_akademik' )
                ->value( 'id_ta' )
                ->label('nama_ta')
            ),
        Field::inst( 'a.nama_ta' ),
        Field::inst( 'tbl_nilai.ph1' ),
        Field::inst( 'tbl_nilai.ph2' ),
        Field::inst( 'tbl_nilai.ph3' ),
        Field::inst( 'tbl_nilai.ph4' ),
        Field::inst( 'tbl_nilai.ph5' ),
        Field::inst( 'tbl_nilai.ph6' ),
        Field::inst( 'tbl_nilai.ph7' ),
        Field::inst( 'tbl_nilai.ph8' ),
        Field::inst( 'tbl_nilai.rph' ),
        Field::inst( 'tbl_nilai.hts' ),
        Field::inst( 'tbl_nilai.has' ),
        Field::inst( 'tbl_nilai.hpa' ),
        Field::inst( 'tbl_nilai.predikat' ),
        Field::inst( 'tbl_nilai.des_ph' ),
        Field::inst( 'tbl_nilai.kh1' ),
        Field::inst( 'tbl_nilai.kh2' ),
        Field::inst( 'tbl_nilai.kh3' ),
        Field::inst( 'tbl_nilai.kh4' ),
        Field::inst( 'tbl_nilai.kh5' ),
        Field::inst( 'tbl_nilai.kh6' ),
        Field::inst( 'tbl_nilai.kh7' ),
        Field::inst( 'tbl_nilai.kh8' ),
        Field::inst( 'tbl_nilai.khpa' ),
        Field::inst( 'tbl_nilai.kpredikat' ),
        Field::inst( 'tbl_nilai.des_kh' )
    )
    ->leftJoin( 'tbl_siswa s', 's.id_siswa', '=', 'tbl_nilai.id_siswa' )
    ->leftJoin( 'tbl_mapel m', 'm.id_mapel', '=', $idd )//this my parameters
    ->leftJoin( 'thn_akademik a', 'a.id_ta', '=', 'tbl_nilai.id_ta' )
    ->leftJoin( 'tbl_ploting p', 'p.id_pk', '=', 's.id_pk' )
    ->leftJoin( 'tbl_kelas k', 'k.id_kelas', '=', 'p.id_kelas' )
    ->leftJoin( 'tbl_jurusan j', 'j.id_jurusan', '=', 'p.id_jurusan' )
    ->debug(true)
    ->process($_POST)
    ->json();

and it only displays errors like the following:

Answers

  • odydaharyodydahary Posts: 19Questions: 3Answers: 0

    I want to like this query

  • allanallan Posts: 61,864Questions: 1Answers: 10,136 Site admin

    That error suggests that $_POST['idd'] is not set. Can you show me your client-side code please?

    Thanks,
    Allan

  • odydaharyodydahary Posts: 19Questions: 3Answers: 0

    this my client-side

    var table=$('#example').DataTable( {
            dom: "<'row mt-3 mb-0'<'col-sm-2'f><'col-sm-8'<'#te'>><'col-sm-2'>>" +"<'row'<'col-sm-12'tr>>" +"<'row'<'col-sm-5'i><'col-sm-7'p>>",//fungsi merapikan tombol dan search
            lengthChange: true,//non aktifkan banyak data yang akan ditampilkan
            processing: true,
            responsive: false,
            aaSorting: [[ 0 ,"desc" ]],
            ordering: true,
            pagingType: "simple_numbers",//tombol next halaman tabel
            oLanguage: //mengubah nama label search(filter)
                {
                    sProcessing: "Memeriksa Data...",
                    sSearch: "Cari:",
                    sSearchPlaceholder: "Masukkan Kata Kunci"
                },
            bInfo : false,
            ajax: "../controller/controllers/joinSelf.php",
            columns: [
                { data: "tbl_nilai.id_nilai", className: "details-control small"},
                { data: "ps.nama", className: "details-control small"},
                { data: null,
                    render: function(data, type, row){
                        return row.k.nama_kelas+"-"+row.p.nama_pk+" "+row.j.nama_jurusan;
                    },
                    className: "details-control small"
                },
                { data: "a.tahun", className: "details-control small" },
                { data: "m.nama_mapel", className: "details-control small"},
                { data: "tbl_nilai.ph1", className: "details-control small"},
                { data: "tbl_nilai.ph2", className: "details-control small"},
                { data: "tbl_nilai.ph3", className: "details-control small"},
                { data: "tbl_nilai.ph4", className: "details-control small"},
                { data: "tbl_nilai.ph5", className: "details-control small"},
                { data: "tbl_nilai.ph6", className: "details-control small"},
                { data: "tbl_nilai.ph7", className: "details-control small"},
                { data: "tbl_nilai.ph8", className: "details-control small"},
                { data: "tbl_nilai.hps", className: "details-control small"},
                { data: "tbl_nilai.hts", className: "details-control small"},
                { data: "tbl_nilai.has", className: "details-control small"},
                { data: "tbl_nilai.hpa" , className: "details-control small"},
                { data: "tbl_nilai.predikat", className: "details-control small"},
                {
                    data: null,
                    defaultContent: 
                    "<button class='btn btn-danger btn-sm' id='hapus' data-toggle='modal' data-target='#modalnilai2' value='hapus'><i class='fas fa-trash'></i></button>",
                    orderable: false
                }
                // {
                //     "className":      'details-control',
                //     "orderable":      false,
                //     "data":           null,
                //     "defaultContent": ''
                // }
                // { data: "tbl_nilai",
                //     render: function (data, type, full, meta) {
                //         // console.log(full);
                //         return '<span data-toggle="tooltip" title="' + data.des_ph + '">' + data.des_ph + '</span>';
                //     }
                // }
            ],
            select: {//css select row ketika diklik
                style:    'os',
                selector: 'td:not(:first-child)',
                blurable: true
            },
            scrollX: true,
            scrollY: true,
            scrollCollapse: true,
            paging:         true,
            fixedColumns:   {
                leftColumns: 0
            },
            buttons: [
                {className: "btn btn-outline-info btn-md fa fa-plus", text:""}
            ]
        });
    
  • kthorngrenkthorngren Posts: 20,383Questions: 26Answers: 4,781

    It doesn't look like you are sending parameters to the server. You have:

    ajax: "../controller/controllers/joinSelf.php",
    

    You need to add the ajax.data to send parameters to the server.

    Kevin

  • odydaharyodydahary Posts: 19Questions: 3Answers: 0

    I'm confused, what's wrong with my parameters?
    there is no change when I send data to server-side.
    what's wrong with my code?

     ajax:{
             url: "../control/controllers/joinSelf.php",
             type: "POST",
             data:{
                      'tbl_nilai.id_mapel': 10
                     }
             },
    

    and this my Json

    {
      data: [
                 {
                   DT_RowId: "row_1",
                   tbl_nilai: {
                                  id_nilai: "1",
                                  id_siswa: "1",
                                  id_mapel: "6",
                                  id_ta: "1",
                                  ph1: "100",
                                  ph2: "67",
                                  ph3: "45",
                                  ph4: "89",
                                  ph5: "100",
                                  ph6: null,
                                  ph7: null,
                                  ph8: null,
                                  rph: null,
                                  hts: null,
                                  has: null,
                                  hpa: null,
                                  predikat: null,
                                  des_ph: "Memiliki kemampuan baik dalam Memahami dan 
                                                 menerapkan faktual dan konseptual tentang PPKn, perlu 
                                                 bimbingan kemampuan dalam Menghayati dan 
                                                 mengamalkan prilaku jujur, disiplin.",
                                  kh1: "80",
                                  kh2: "90",
                                  kh3: "70",
                                  kh4: "90",
                                  kh5: "60",
                                  kh6: "65",
                                  kh7: "89",
                                  kh8: "76",
                                  khpa: "65",
                                  kpredikat: "B",
                                  des_kh: null
                    },
                   s: {
                       nama_siswa: "suliana",
                       id_pk: "10"
                   },
                   p: {
                        nama_pk: "A",
                        id_jurusan: "45",
                        id_kelas: "1"
                    },
                    j: {
                        nama_jurusan: "Teknik Komputer"
                    },
                    k: {
                         nama_kelas: "X"
                    },
                    m: {
                          id_mapel: "6",
                          nama_mapel: "Pendidikan Agama"
                     },
                    a: {
                        nama_ta: "18/19"
                    }
                  },
    
  • allanallan Posts: 61,864Questions: 1Answers: 10,136 Site admin

    That ajax.data function isn't shown in your previous code drop. As Kevin noted you have:

    ajax: "../controller/controllers/joinSelf.php"
    

    So, $_POST['idd'] would indeed not be set. You could use:

    ajax: {
      url: '...',
      type: 'post',
      data: function(d) {
        d.idd = ...;
      }
    }
    

    Allan

This discussion has been closed.