(07-14-2017, 11:14 PM) Paradinight Wrote: (07-13-2017, 10:44 PM) Junie Wrote: Hello,
I've been playing with CRUD lately and I have this kind of problem that I didn't know how to fixed. I'm researching in the web to fixed this. Can someone tell me what is the error with this. I got an error A Database Error Occurred Error Number: 1048
My form:
Code:
<div class="activity-item">
<form action="" id="form" enctype="multipart/form-data" class="form-horizontal">
<input type="hidden" value="" name="id" />
<div class="form-body">
<div class="form-group">
<div class="col-md-9">
<input name="agencyname" placeholder="Agency Name" class="form-control" type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-9">
<input name="category" placeholder="Category" class="form-control" type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-9">
<input name="address" placeholder="Address" class="form-control" type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-9">
<input name="acronym" placeholder="Acronym" class="form-control" type="text">
<span class="help-block"></span>
</div>
</div>
</div>
</form>
<button type="button" id="btnSave" onclick="save()" class="btn btn-primary">Save</button>
</div>
SCript:
Code:
<script type="text/javascript">
function save() {
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled', true);
var url;
if (save_method == 'add') {
url = "<?php echo site_url('agency/add')?>";
} else {
url = "<?php echo site_url('agency/update')?>";
}
$.ajax({
url: url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data) {
if (data.status) //if success close modal and reload ajax table
{
reload_table();
} else {
}
$('#btnSave').text('save'); //change button text
$('#btnSave').attr('disabled', false); //set button enable
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Error adding / update data');
$('#btnSave').text('save'); //change button text
$('#btnSave').attr('disabled', false); //set button enable
}
});
}
</script>
Controller:
Code:
public function add()
{
$this->_validate();
$data = array(
'name' => $this->input->post('agencyname'),
'category' => $this->input->post('category'),
'address' => $this->input->post('address'),
'acronym' => $this->input->post('acronym'),
);
$insert = $this->agency->save_agency($data);
echo json_encode(array("status" => TRUE));
}
Model:
Code:
public function save_agency($data)
{
$this->db->insert($this->agencyTbl, $data);
return $this->db->insert_id();
}
1. show us the full html code of the page.
2. console.log($('#form').serialize()) and console.log($('#form')) before $.ajax({
and print the value in this board
Sir,
I've changed a little bit of the code. I'm fixing the problem. Here's the full html code:
Code:
<section id="content">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="heading">
<div class="section-title">Add <span>Agency</span></div>
<hr>
</div>
<div class="col-md-4 col-sm-6 col-xs-12">
<div class="activity-item">
<form action="#" id="agencyForm" class="form-horizontal>
<input type=" hidden " name="agency_id " value=" " id="agency_id ">
<div class="form-group ">
<div class="controls ">
<input type="text " name="input_name " class="form-control " placeholder="Agency name ">
<span class="help-block "></span>
</div>
</div>
<div class="form-group ">
<div class="controls ">
<input type="text " name="input_category " class="form-control " placeholder="Category ">
<span class="help-block "></span>
</div>
</div>
<div class="form-group ">
<div class="controls ">
<input type="text " name="input_address " class="form-control " placeholder="Address ">
<span class="help-block "></span>
</div>
</div>
<div class="form-group ">
<div class="controls ">
<input type="text " name="input_acronym " class="form-control " placeholder="Acronym ">
<span class="help-block "></span>
</div>
</div>
</form>
<!-- <input type="submit " name="regisSubmit " class="btn-primary " value="Submit " /> -->
<button type="submit " value="submit " onclick="save() " class="btn btn-primary ">Save</button>
</div>
</div>
<div class="col-md-8 col-sm-6 col-xs-12 ">
<div class="activity-item ">
<div class="table-responsive ">
<table class="table table-striped table-hover table-responsive table-condensed " id="agencyTbl ">
<thead>
<tr>
<th>Name</th>
<th>Category</th>
<th>Address</th>
<th>Acronym</th>
</tr>
</thead>
<tbody id="showagency ">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
<div class="clearfix "></div>
script:
Code:
< script type = "text/javascript" >
var save_method; //for save method string
function save() {
var url;
if (save_method == 'add') {
url = "<?php echo site_url('agency/add_agency')?>";
} else {
url = "<?php echo site_url('agency/update_update')?>";
}
// ajax adding data to database
var form = new FormData($("#agencyForm")[0]);
$.ajax({
url: url,
type: "POST",
data: $('#agencyForm').serialize(),
dataType: "JSON",
success: function(data) {
toastr.info('ajax success');
},
error: function(jqXHR, textStatus, errorThrown) {
toastr.info('ajax failed');
}
});
}
< /script>
Controller: I include the var_dump to check the passed values. It appears ZERO array
Code:
function add_agency() {
var_dump($this - > input - > post(NULL, TRUE));
// $this->_validate();
$data = array(
'agency_name' => $this - > input - > post('input_name'),
'category' => $this - > input - > post('input_category'),
'address' => $this - > input - > post('input_address'),
'acronym' => $this - > input - > post('input_acronym'),
);
$insert = $this - > agency_model - > add($data);
echo json_encode(array("status" => TRUE));
}
Console log:
Attached Files
Thumbnail(s)