<?php
/*
 * Editor server script for DB table hm_members
 * Created by http://editor.datatables.net/generator
 */
// DataTables PHP library and database connection
include( "lib/DataTables.php" );
// Alias Editor classes so they are easy to use
use
    DataTables\Editor,
    DataTables\Editor\Field,
    DataTables\Editor\Format,
    DataTables\Editor\Join,
    DataTables\Editor\Upload,
    DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst( $db, 'hm_members', 'id_member' )
    ->where('hm_members.user_type', '7', '>')
    ->where('hm_user_types.description', 'System Admin', '!=')
    ->fields(
        Field::inst( 'hm_members.firstname' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'hm_members.lastname' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'hm_members.address' ),
        Field::inst( 'hm_members.address2' ),
        Field::inst( 'hm_members.City' ),
        Field::inst( 'hm_members.Province' ),
        Field::inst( 'hm_members.Postcode' ),
        Field::inst( 'hm_members.Country' ),
        Field::inst( 'hm_members.email' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'hm_members.phone' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'hm_members.username' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'hm_members.password' )
            ->validator( 'Validate::notEmpty' ),
        Field::inst( 'hm_user_types.description' ),
        Field::inst( 'hm_members.user_type' )
            ->options( function () use ( $db ) {
                $user_types = $db->sql('SELECT * FROM hm_user_types WHERE description != "System Admin" ORDER BY description');
                
                $out = array(); 
                while ( $row = $user_types->fetch() ) {
                    $out[] = array(
                        "value" => $row['id_user_types'],
                        "label" => $row['description']
                    );
                } 
                return $out;
            } )
            ->validator( 'Validate::notEmpty' )
    )
    ->leftJoin('hm_user_types', 'hm_members.user_type', '=', 'hm_user_types.id_user_types')
    ->process( $_POST )
    ->json();
?>
 
body {
  font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}
 
    var editor5 = new $.fn.dataTable.Editor( {
        "ajax": "php/table.hm_members.php",
        "table": "#hm_members",
        "fields": [
            {
                "label": "First Name",
                "name": "hm_members.firstname"
            },
            {
                "label": "Last Name",
                "name": "hm_members.lastname"
            },
            {
                "label": "Address",
                "name": "hm_members.address"
            },
            {
                "label": "Address(optional)",
                "name": "hm_members.address2"
            },
            {
                "label": "City",
                "name": "hm_members.City"
            },
            {
                "label": "Province",
                "name": "hm_members.Province"
            },
            {
                "label": "Postcode",
                "name": "hm_members.Postcode"
            },
            {
                "label": "Country",
                "name": "hm_members.Country"
            },
            {
                "label": "Email Address",
                "name": "hm_members.email"
            },
            {
                "label": "Phone Number",
                "name": "hm_members.phone"
            },
            {
                "label": "Username",
                "name": "hm_members.username"
            },
            {
                "label": "Password",
                "name": "hm_members.password",
                "type": "password"
            },
            {
                "label": "Staff Type",
                "name": "hm_members.user_type",
                "type": "select"
            }
        ]
    } );
    var staff = $('#hm_members').DataTable( {
        responsive: true,
        select: true,
        "dom": "Bfrtip",
        buttons: [
        { extend: "create", editor: editor5},
        { extend: "edit", editor: editor5},
        { extend: "remove", editor: editor5},
         'excel', 'pdf'
        ],
        "ajax": "php/table.hm_members.php",
        "columns": [
            {
                "data": "hm_members.firstname"
            },
            {
                "data": "hm_members.lastname"
            },
            {
                "data": "hm_members.address"
            },
            {
                "data": "hm_members.address2"
            },
            {
                "data": "hm_members.City"
            },
            {
                "data": "hm_members.Province"
            },
            {
                "data": "hm_members.Postcode"
            },
            {
                "data": "hm_members.Country"
            },
            {
                "data": "hm_members.email"
            },
            {
                "data": "hm_members.phone"
            },
            {
                "data": "hm_members.username"
            },
            {
                "data": "hm_members.password"
            },
            {
                "data": "hm_user_types.description"
            }
        ]
    } );
    
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers