Good morning,
how to make sure that the Where clause is taken into account, perhaps it is badly positioned?
Javascript :
var editor; // use a global for the submit and return data rendering in the examples
$(document).ready(function() {
editor = new $.fn.dataTable.Editor( {
ajax: "Staff_Qualite.php",
table: "#EditQualite",
fields: [ {
label: "Date :",
name: "qualite_generale.date_qg",
type: "datetime"
}, {
label: "Origine de la remontée :",
name: "qualite_generale.origine_remontee_qg",
type: "select",
placeholder: "Selectionner une origine",
options: [
{ label: "Interne", value: "Interne" },
{ label: "Externe", value: "Externe" }
]
}, {
label: "Importance :",
name: "qualite_generale.importance_qg",
type: "select",
placeholder: "Selectionner une Importance",
options: [
{ label: "Basse", value: "Basse" },
{ label: "Moyenne", value: "Moyenne" },
{ label: "Haute", value: "Haute" }
]
}, {
label: "Nom du client :",
name: "qualite_generale.id_qualite_clients_qg",
type: "select",
placeholder: "Selectionner un client"
}, {
label: "Cofor :",
name: "qualite_generale.id_qualite_cofor_qg",
type: "select",
placeholder: "Selectionner un Cofor"
}, {
label: "Secteur :",
name: "qualite_generale.nom_wms_erp_qg",
type: "select",
placeholder: "Selectionner un Secteur",
options: [
{ label: "GEOLOG", value: "GEOLOG" },
{ label: "ITEM", value: "ITEM" },
{ label: "SAP", value: "SAP" },
{ label: "WMS", value: "WMS" }
]
}, {
label: "Pilote :",
name: "qualite_generale.pilote_qg"
}, {
label: "N° réclamation client :",
name: "qualite_generale.num_reclamation_client_qg"
}, {
label: "Description de l'anomalie :",
name: "qualite_generale.descriptif_anomalie_qg"
}, {
label: "Analyse de l'anomalie :",
name: "qualite_generale.analyse_anomalie_qg"
}, {
label: "Action à mettre en place :",
name: "qualite_generale.action_mise_en_place_qg"
}, {
label: "Etat de l'action :",
name: "qualite_generale.etat_action_qg",
type: "select",
placeholder: "Selectionner un Etat",
options: [
{ label: "En cours", value: "1" },
{ label: "Retard", value: "2" },
{ label: "Validée", value: "3" }
]
}, {
label: "NC Catégorie :",
name: "qualite_generale.id_qualite_motif_qg",
type: "select"
}, {
label: "NC motif :",
name: "qualite_generale.id_qualite_detail_motif_qg",
type: "select"
}, {
label: "N° de facture :",
name: "qualite_generale.num_facture_qg"
}, {
label: "Montant facture :",
name: "qualite_generale.montant_qg"
}, {
label: "Responsabilité :",
name: "qualite_generale.responsabilite_qg",
type: "select",
placeholder: "Selectionner une Responsabilité",
options: [
{ label: "GEFCO", value: "GEFCO" },
{ label: "CLIENT", value: "CLIENT" },
{ label: "FOURNISSEUR", value: "FOURNISSEUR" },
{ label: "SOUS-TRAITANT", value: "SOUS-TRAITANT" }
]
}
]
} );
//cascading fild list
editor.dependent( 'qualite_generale.id_qualite_motif_qg', 'dependent_motif_detailMotif.php' );
editor.dependent( 'qualite_generale.id_qualite_clients_qg', 'dependent_client_cofor.php' );
$('#EditQualite').DataTable( {
dom: "Bfrtip",
ajax: {
url: "Staff_Qualite.php",
type: "POST"
},
serverSide: true,
columns: [
{ data: "qualite_generale.date_qg" },
{ data: "qualite_generale.origine_remontee_qg" },
{ data: "qualite_generale.importance_qg" },
{ data: "qualite_clients.nom_qc" },
{ data: "qualite_cofor.nom_cofor_qco" },
{ data: "qualite_generale.pilote_qg" },
{ data: "qualite_generale.num_reclamation_client_qg" },
{ data: "qualite_generale.descriptif_anomalie_qg" },
{ data: "qualite_generale.analyse_anomalie_qg" },
{ data: "qualite_generale.action_mise_en_place_qg" },
{ data: "qualite_generale.etat_action_qg",
render: function(data, type, row) {
var maValeur = '';
if (data === "1"){maValeur = 'En cours';}
if (data === "2"){maValeur = 'Retard';}
if (data === "3"){maValeur = 'Validée';}
return maValeur;
}
},
{ data: "qualite_motif.motif" },
{ data: "qualite_detail_motif.detail_qdm" },
{ data: "qualite_generale.num_facture_qg" },
{ data: "qualite_generale.montant_qg" },
{ data: "qualite_generale.responsabilite_qg" }
],
select: true,
buttons: [
{ extend: 'create', editor: editor },
{ extend: 'edit', editor: editor }
]
} );
} );
PHP :
// Build our Editor instance and process the data coming from _POST
Editor::inst( $db, 'qualite_generale', 'id_qg' )
->fields(
Field::inst( 'qualite_generale.date_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.origine_remontee_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.importance_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
//CLIENT
Field::inst( 'qualite_generale.id_qualite_clients_qg' )
->options( Options::inst()
->table( 'qualite_clients' )
->value( 'id_qc' )
->label( 'nom_qc' )
)
->validator( Validate::dbValues() ),
Field::inst( 'qualite_clients.nom_qc' ),
//COFOR
Field::inst( 'qualite_generale.id_qualite_cofor_qg' )
->options( Options::inst()
->table( 'qualite_cofor' )
->value( 'id_qco' )
->label( 'nom_cofor_qco' )
)
->validator( Validate::dbValues() ),
Field::inst( 'qualite_cofor.nom_cofor_qco' ),
Field::inst( 'qualite_generale.nom_wms_erp_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.pilote_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.num_reclamation_client_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.descriptif_anomalie_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.analyse_anomalie_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.action_mise_en_place_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.etat_action_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
//MOTIF
Field::inst( 'qualite_generale.id_qualite_motif_qg' )
->options( Options::inst()
->table( 'qualite_motif' )
->value( 'id_qm' )
->label( 'motif' )
)
->validator( Validate::dbValues() ),
Field::inst( 'qualite_motif.motif' ),
//DETAIL MOTIF
Field::inst( 'qualite_generale.id_qualite_detail_motif_qg' )
->options( Options::inst()
->table( 'qualite_detail_motif' )
->value( 'id_qdm' )
->label( 'detail_qdm' )
)
->validator( Validate::dbValues() ),
Field::inst( 'qualite_detail_motif.detail_qdm' ),
Field::inst( 'qualite_generale.num_facture_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.montant_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) ),
Field::inst( 'qualite_generale.responsabilite_qg' )
->validator( Validate::notEmpty( ValidateOptions::inst()
->message( 'A name is required' )
) )
)
->leftJoin( 'qualite_motif', 'qualite_motif.id_qm', '=', 'qualite_generale.id_qualite_motif_qg' )
->leftJoin( 'qualite_detail_motif', 'qualite_detail_motif.id_qdm', '=', 'qualite_generale.id_qualite_detail_motif_qg' )
->leftJoin( 'qualite_clients', 'qualite_clients.id_qc', '=', 'qualite_generale.id_qualite_clients_qg' )
->leftJoin( 'qualite_cofor', 'qualite_cofor.id_qco', '=', 'qualite_generale.id_qualite_cofor_qg' )
->where('qualite_generale.id_site_whs_qg', $Id_WHS, '=')
->where('qualite_clients.id_whs_qc', $Id_WHS, '=')
->where('qualite_cofor.id_whs_qco', $Id_WHS, '=')
->process( $_POST )
->json();