Я настраиваю множественный выбор в базе данных, чтобы добавить его
PHP, MySql, AJAX JQUERY и Codeigniter 3
Я не могу поместить код некоторых областей в Ajax в мультиселектную загрузку. Можете ли вы дать некоторые идеи для этого кодирования? Спасибо за ваши ответы :) Спасибо за ваши ответы :) Спасибо за ваши ответы :) спасибо за ваши ответы :) спасибо за ваши ответы :) спасибо за ваши ответы :) спасибо за ваши ответы :) спасибо за ваши ответы :) спасибо за ваши ответы :) спасибо за ваши ответы :) спасибо за ваши ответы :)
Это мои внешние скрипты
//This is my external scripts
$('#frmprod').submit(function(e){
e.preventDefault();
var formData = {
'categproduct': $('#categproduct').val(),
'txtbname': $('#txtbname').val(),
'txtcost': $('#txtcost').val(),
'txtdesc': $('#txtdesc').val(),
'txtstock': $('#txtstock').val(),
'txtprice': $('#txtprice').val()
}
var files = $('#files')[0].files;
var error = '';
var form_data = new FormData();
for(var count = 0; count<files.length; count++)
{
var name = files[count].name;
var extension = name.split('.').pop().toLowerCase();
if(jQuery.inArray(extension, ['gif','png','jpg','jpeg']) == -1)
{
alert(error += "Invalid " + count + " Image File");
}
else
{
form_data.append("files[]", files[count]);
}
}
$.ajax({
url: base_url + 'Staff/add_products',
type: 'post',
data: formData + form_data,
dataType: 'json',
contentType:false,
cache:false,
processData:false,
success:function(response){
console.log(response);
if(response.success == true){
$('.text-danger').remove();
$('#frmprod')[0].reset();
swal("Great Job!","Successfully Saved
Product","success");
}
else{
$.each(response.message, function(key, value){
var element = $('#' + key);
element.closest('div.form-group')
.find('.text-danger').remove();
element.after(value);
});
}
},
error: function(response){
console.log(response);
swal("Sorry!","Failed to Save in
Product","error");
}
});
});
Это мой контроллер
//This is my controller
public function add_products()
{
$valid_message = array('success' => false, 'message' => array(), 'error' => '');
$categproduct = $this->input->post('categproduct');
$bname = $this->input->post('txtbname');
$desc = $this->input->post('txtdesc');
$stock = $this->input->post('txtstock');
$cost = $this->input->post('txtcost');
$price = $this->input->post('txtprice');
$status = 'Available Stock';
$this->form_validation->set_rules('categproduct','Categtools','required');
$this->form_validation->set_rules('txtbname','Brandname','trim|required');
$this->form_validation->set_rules('txtcost','Cost','trim|required|is_numeric');
$this->form_validation->set_rules('txtdesc','Decription','required');
$this->form_validation->set_rules('txtstock','Stock','trim|required|is_numeric|min_length[1]');
$this->form_validation->set_rules('txtprice','Price','trim|required|is_numeric');
$this->form_validation->set_error_delimiters('<p class = "text-danger"><i class="fa fa-warning"></i> <span style="font-size:0.8em;">','</span></p>');
if($this->form_validation->run()==false){
foreach ($_POST as $key => $value) {
$valid_message['message'][$key] = form_error($key);
}
} else {
$valid_message['success'] = true;
if($_FILES["files"]["name"] != '')
{
$output = '';
$config["upload_path"] = './upload/';
$config["allowed_types"] = 'gif|jpg|png|jpeg';
$config["encrypt_name"] = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);
for($count = 0; $count<count($_FILES["files"]["name"]); $count++)
{
$_FILES["file"]["name"] = $_FILES["files"]["name"][$count];
$_FILES["file"]["type"] = $_FILES["files"]["type"][$count];
$_FILES["file"]["tmp_name"] = $_FILES["files"]["tmp_name"][$count];
$_FILES["file"]["error"] = $_FILES["files"]["error"][$count];
$_FILES["file"]["size"] = $_FILES["files"]["size"][$count];
if($this->upload->do_upload('file'))
{
$data = $this->upload->data();
$output = $data["file_name"];
}
}
}
$products_data = array(
'img_dir'=>$output,
'categproducts'=>$categproduct,
'brandname'=>$bname,
'description'=>$desc,
'stock'=>$stock,
'cost'=>$cost,
'price'=>$price,
'status'=>$status
);
$this->db->insert('tbl_products', $products_data);
}
echo json_encode($valid_message);
}
это мои взгляды
<!-- my views-->
<form id="frmprod" enctype="multipart/form-data">
<div class="form-group">
<label class="control-label">Select Category Product</label>
<div class="input-icon">
<select class="form-control placeholder-no-fix" id="categproduct">
<?php foreach($categ as $cat) { ?>
<option style="font-family: verdana;" value="<?php echo $cat->categproducts;?>"><?php echo $cat->categproducts;?></option>
<?php
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label">Brand Name</label>
<input type="text" class="form-control" id="txtbname"/> </div>
<div class="form-group">
<label class="control-label">Description</label>
<textarea class="form-control" rows="2" id="txtdesc"/> </textarea> </div>
<div class="form-group">
<label>Image Files</label>
<input type="file" name="files" id="files" class="btn btn-info" multiple> </div>
<div class="form-group">
<label class="control-label">Stock</label>
<input type="text" class="form-control" id="txtstock"/> </div>
<div class="form-group">
<label>Cost</label>
<input type="text" class="form-control form-control-sm" id="txtcost">
</div>
<div class="form-group">
<label>Price</label>
<input type="text" class="form-control form-control-sm" id="txtprice">
</div>
<button type="submit" class="btn btn-info"> Save Product</button>   </button> <button class="btn btn-danger" id="btnclear" type="button"> Clear Product</button>
</form>