【发布时间】:2016-03-30 17:01:22
【问题描述】:
我设法将上传的照片插入到数据库以及指定的路径中,问题是我上传的照片没有插入到日志用户列,而是创建了另一个列,我错过了什么吗?下面是我的代码和截图,以防你们几乎不明白我的意思
型号
function create($data){
$query = $this->db->insert('dosen', $data);
return $query;
}
控制器
public function Upload(){
$upload = $this->input->post('fotoDsn');
//Foto Set
$photoName = gmdate("d-m-y-H-i-s", time()+3600*7).".jpg";
$config['upload_path'] = './assets/';
$config['allowed_types'] = 'gif||jpg||png';
$config['max_size'] = '2048000';
$config['file_name'] = $photoName;
$this->load->library('upload',$config);
if($this->upload->do_upload('userfile')){
$upload = 1;
}
else{
$upload = 2;
}
if($upload==1){
$data = array(
'foto_dosen'=>$photoName);
$insert = $this->MDosen->create($data);
if($insert){
echo 1;
}else{
echo 2;
}
}//else kalo gagal
}
查看
<a href="#modalUpload" class="upload waves-effect waves-light modal-trigger" id="<?php echo $result->id ?>"><i class="material-icons tiny">assignment_ind</i> Upload</a>
<div id="modalUpload" class="modal" style="width: 40%; height: auto">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<i class="medium material-icons prefix">assignment_ind</i>
<h4 class="modal-title"> Upload Foto</h4>
</div>
<div class="modal-body">
<form action="upload" id="tambahFormUpload" method="post" enctype="multipart/form-data">
<div class="file-field input-field">
<div class="btn">
<span>File</span>
<input type="file" name="userfile">
</div>
<div class="file-path-wrapper">
<input class="file-path validate" type="text">
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary" >Simpan</button>
</div>
</form>
</div>
</div>
</div>
</div>
JS
$('.upload').click(function(){
id1 = $(this).attr('id');
});
$('#tambahFormUpload').submit(function(e){
alert(id1);
e.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url:'Profil/Upload/'+id1,
data:formData,
type:'POST',
contentType: false,
processData: false,
success:function(data){
$("#modalUpload").hide();
window.location.reload(true);
}
});
});
【问题讨论】:
-
你想让它把 url 插入现有的列吗?还是您的问题是它没有向新插入的行添加其他用户详细信息?
-
是到现有列中,所以我使用用户“ragil”登录,上传照片应插入“ragil”“photo_dosen”列,但这样做会创建另一行
-
我不熟悉 codeigniter,但听起来你想要一个
->update()而不是->insert(),例如 stackoverflow.com/a/13895507/689579 -
我也是这么想的,但问题是,如果里面已经有数据了,那更新不就用了吗?
-
当您想要更改/更改或向现有行添加值时使用更新。因此,如果您想为
user ="ragil"所在的行添加( 或 更改/更改)photo_dosen列值,则需要进行更新。结果查询将是UPDATE ragil SET photo_dosen = "$photoName" WHERE user ="ragil"。我不知道使用 codeigniter 语法会是什么样子。
标签: php jquery mysql codeigniter