|
|
|
ดึงไฟล์รูปภาพจาก database มาแสดงในหน้าแก้ไขต้องทำอย่างไรบ้าง |
|
|
|
|
|
|
|
CI Framework
ต้องการแสดงรูปภาพที่อัพโหลดไปแสดงในหน้าแก้ไข สามารถลบรูปภาพออกจาก database /แก้ไขคำอธิบาย ต้องทำอย่างไร
controller
Code (PHP)
$date = date("dmY");
$upload_dir = './uploads/'. $bike_parking->id .'/';
$config['file_name'] = $date.$bike_parking->id;
$config['upload_path'] = $upload_dir;
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1024';
// check if upload path is existed
if (!is_dir($upload_dir))
{
mkdir($upload_dir, 0777, true);
}
$i = 0;
$files = array();
$is_file_error = FALSE;
if (empty($_FILES)) //เชคไฟล์ว่าว่างหรือไม่
{
//echo "empty files";
}
else
{
if(!empty($_FILES['userfile1']['name'])) // เชคว่าไฟล์ที่รับมาจาก userfile1
{
// เชค type ไฟล์ ที่รับเข้ามา
if (!($_FILES['userfile1']['type'] == "image/jpeg" || $_FILES['userfile1']['type'] == "image/gif" || $_FILES['userfile1']['type'] == "image/png" || $_FILES['userfile1']['type'] == "image/jpg"))
{
$this->data['error'] = "ไฟล์ต้องเป็น jpeg,gif,png,jpg เท่านั้น";
}
else
{
if($_FILES['userfile1']['size'] > 1048576) // เชค size file ถ้าเกิน 1 mb ให้แจ้ง error message
{
$this->data['error'] = "ขนาดไฟล์รูปภาพที่ 1 เกิน 1 mb";
}
else
{
$this->load->library('upload', $config);
if (!$this->upload->do_upload('userfile1'))
{
//$this->session->set_flashdata('error', "เกิดเหตุขัดข้อง ไม่สามารถอัพโหลดไฟล์ได้ กรุณาลองใหม่อีกครั้ง<br/><ul>");
//$is_file_error = TRUE;
}
else
{
$files[$i] = $this->upload->data();
$files[$i]['url'] = $upload_dir.$files[$i]['file_name'];
$files[$i]['caption'] = $this->input->post("caption1");
++$i;
$upload_data = $this->upload->data();
$img_config['source_image'] = $upload_data["full_path"];
$img_config['width'] = '800';
$img_config['height'] = '600';
$this->load->library('image_lib', $img_config);
$this->image_lib->resize();
}
}
}
}
if(!empty($_FILES['userfile2']['name'])) // เชคว่าไฟล์ที่รับมาจาก userfile2
{
if (!($_FILES['userfile2']['type'] == "image/jpeg" || $_FILES['userfile2']['type'] == "image/gif" || $_FILES['userfile2']['type'] == "image/png" || $_FILES['userfile2']['type'] == "image/jpg"))
{
$this->data['error'] = "ไฟล์ต้องเป็น jpeg,gif,png,jpg เท่านั้น";
}
else
{
if($_FILES['userfile2']['size'] > 1048576)
{
$this->data['error'] = "ขนาดไฟล์รูปภาพที่ 1 เกิน 1 mb";
}
else
{
$this->load->library('upload', $config);
if (!$this->upload->do_upload('userfile2'))
{
//$this->session->set_flashdata('error', "เกิดเหตุขัดข้อง ไม่สามารถอัพโหลดไฟล์ได้ กรุณาลองใหม่อีกครั้ง<br/><ul>");
//$is_file_error = TRUE;
}
else
{
$files[$i] = $this->upload->data();
$files[$i]['url'] = $upload_dir.$files[$i]['file_name'];
$files[$i]['caption'] = $this->input->post("caption2");
++$i;
$upload_data = $this->upload->data();
$img_config['source_image'] = $upload_data["full_path"];
$img_config['width'] = '800';
$img_config['height'] = '600';
$this->load->library('image_lib', $img_config);
$this->image_lib->resize();
}
}
}
}
if(!empty($_FILES['userfile3']['name'])) // เชคว่าไฟล์ที่รับมาจาก userfile3
{
if (!($_FILES['userfile3']['type'] == "image/jpeg" || $_FILES['userfile3']['type'] == "image/gif" || $_FILES['userfile3']['type'] == "image/png" || $_FILES['userfile3']['type'] == "image/jpg"))
{
$this->data['error'] = "ไฟล์ต้องเป็น jpeg,gif,png,jpg เท่านั้น";
}
else
{
if($_FILES['userfile3']['size'] > 1048576)
{
$this->data['error'] = "ขนาดไฟล์รูปภาพที่ 1 เกิน 1 mb";
}
else
{
$this->load->library('upload', $config);
if (!$this->upload->do_upload('userfile3'))
{
//$this->session->set_flashdata('error', "เกิดเหตุขัดข้อง ไม่สามารถอัพโหลดไฟล์ได้ กรุณาลองใหม่อีกครั้ง<br/><ul>");
//$is_file_error = TRUE;
}
else
{
$files[$i] = $this->upload->data();
$files[$i]['url'] = $upload_dir.$files[$i]['file_name'];
$files[$i]['caption'] = $this->input->post("caption3");
++$i;
$upload_data = $this->upload->data();
$img_config['source_image'] = $upload_data["full_path"];
$img_config['width'] = '800';
$img_config['height'] = '600';
$this->load->library('image_lib', $img_config);
$this->image_lib->resize();
}
}
}
}
}
// เก็บ path รูปภาพลง DataBase
if ($is_file_error && $files)
{
// $this->session->set_flashdata('error', "เกิดเหตุขัดข้อง ไม่สามารถอัพโหลดไฟล์ได้ กรุณาลองใหม่อีกครั้ง");
for ($i = 0; $i < count($files); $i++)
{
$file = $upload_dir . $files[$i]['file_name'];
}
}
if (!$is_file_error && $files)
{
$resp = BikeShopImage::save_files($files,$bike_parking->id); // เรียก function save_files จาก Model BikeParkingImage เพื่อ เก็บ path ไฟล์รูปภาพ
if ($resp == TRUE)
{
// $this->handle_success('File(s) was/were successfully uploaded.');
$this->data['message'] = "เพิ่มรูปภาพเรียบร้อยแล้ว";
//$this->session->set_flashdata('message', "เอกสารแนบได้ถูกอัพโหลดเรียบร้อยแล้ว");
}
else
{
for ($i = 0; $i < count($files); $i++)
{
$file = $dir_path . $files[$i]['file_name'];
if (file_exists($file)) {
unlink($file);
}
}
// $this->handle_error('Error while saving file info to Database.');
$this->session->set_flashdata('error', "ไม่สามารถบันทึกเอกสารแนบเข้า database ได้ กรุณาลองใหม่อีกครั้ง<br/><ul>". $this->upload->display_errors("<li>","</li>"));
}
}
// if want json response
if (strtolower($this->input->get_post('alt')) == "json")
{
$response['status'] = "1"; // success
$response["key"] = $bike_shop->id;
// return result set json
header('Content-Type: application/json');
echo json_encode($response);
}
else
{
// if redirect after updated successfully
$this->session->set_flashdata('message', 'ทำการแก้ไขร้านขายจักรยานเรียบร้อยแล้ว');
redirect("bike_shops", 'refresh');
}
}
else
{
$this->data['error'] = 'Error! เกิดความผิดพลาดไม่สามารถแก้ไขร้านขายจักรยานได้<br><i class="fa fa-angle-right"></i> ' . join('<br><i class="fa fa-angle-right"></i>
', $bike_shop->errors->full_messages());
}
// if any error while creating user
}
view
Code (PHP)
<div id="page-reserve">
<div class="page-form">
<?php echo form_open(current_url(), array('class' => 'form-horizontal', 'id' => 'create-user-form')); ?>
<div class="container">
<div class="col-sm-12">
<div class="form-group">
<label class="control-label col-sm-3">ชื่อร้าน</label>
<div class="col-sm-6"><?php echo form_input(array('name' => 'name', 'class' => 'form-control', 'value' => set_value('name', $bike_shop->name)));?></div>
</div>
<div class="form-group form-inline">
<label class="control-label col-sm-3">ตำแหน่งร้าน</label>
<div class="col-sm-6">
<?php echo form_input(array('name' => 'lat', 'class' => 'form-control latlng', 'id' => 'lat', 'placeholder' => 'latitude', 'value' => set_value('lat', $bike_shop->lat)));?>
<?php echo form_input(array('name' => 'lng', 'class' => 'form-control latlng', 'id' => 'lng', 'placeholder' => 'longitude', 'value' => set_value('lng', $bike_shop->lng)));?>
<div id="map-canvas" style="height: 300px; margin: 0; padding: 0;"></div>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">ที่ตั้ง</label>
<div class="col-sm-6">
<?php echo form_textarea(array('name' => 'direction', 'class' => 'form-control', 'rows' => 3, 'value' => set_value('direction', $bike_shop->direction)));?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">รูปประกอบ</label>
<div class="col-sm-6">
<img width="120" height="120" border="1" atl="" src="/upload/1/230320151.jpg" >
<label class="control-label">รูปภาพ 1 </label>
<?php echo form_input(array('name' => 'userfile1','type' => 'file'));?>
<p class="help-block">ขนาดไฟล์ไม่เกิน 1,024 KB (1 MB)</p>
<label class="control-label">คำอธิบายรูปภาพ 1</label>
<?php echo form_input(array('name' => 'caption1', 'class' => 'form-control', 'value' => set_value('caption1')));?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3"></label>
<div class="col-sm-6">
<label class="control-label">รูปภาพ 2 </label>
<?php echo form_input(array('name' => 'userfile2','type' => 'file'));?>
<p class="help-block">ขนาดไฟล์ไม่เกิน 1,024 KB (1 MB)</p>
<label class="control-label">คำอธิบายรูปภาพ 2</label>
<?php echo form_input(array('name' => 'caption2', 'class' => 'form-control', 'value' => set_value('caption' )));?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3"></label>
<div class="col-sm-6">
<label class="control-label">รูปภาพ 3 </label>
<?php echo form_input(array('name' => 'userfile3','type' => 'file'));?>
<p class="help-block">ขนาดไฟล์ไม่เกิน 1,024 KB (1 MB)</p>
<label class="control-label">คำอธิบายรูปภาพ 3</label>
<?php echo form_input(array('name' => 'caption3', 'class' => 'form-control', 'value' => set_value('caption')));?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">เบอร์โทรศัพท์</label>
<div class="col-sm-6"><?php echo form_input(array('name' => 'telephone', 'class' => 'form-control', 'value' => set_value('telephone', $bike_shop->telephone)));?></div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">เวลาเปิดทำการ</label>
<div class="col-sm-6">
<div class="form-inline">
<label>
<?php $is_open = ($bike_shop->is_open_on(1)) ? true : false; $time = ($is_open) ? $bike_shop->is_open_on(1)->getTimeRange() : ""; ?>
<?php echo form_checkbox(array('name' => 'is_open[sun]', 'value' => '1', 'checked' => set_checkbox('is_open[sun]', set_value('is_open[sun]'), $is_open)));?> อา.
</label>
<div style="display: inline-flex;">
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'open[sun]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('open[sun]', ($is_open) ? $time['hourStart'].":".$time['minuteStart'] : "")));?>
</div>
<p class="form-control-static"> ถึง </p>
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'close[sun]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('close[sun]', ($is_open) ? $time['hourEnd'].":".$time['minuteEnd'] : "")));?>
</div>
</div>
</div>
<div class="form-inline">
<label>
<?php $is_open = ($bike_shop->is_open_on(2)) ? true : false; $time = ($is_open) ? $bike_shop->is_open_on(2)->getTimeRange() : ""; ?>
<?php echo form_checkbox(array('name' => 'is_open[mon]', 'value' => '1', 'checked' => set_checkbox('is_open[mon]', set_value('is_open[mon]'), $is_open)));?> จ.
</label>
<div style="display: inline-flex;">
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'open[mon]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('open[mon]', ($is_open) ? $time['hourStart'].":".$time['minuteStart'] : "")));?>
</div>
<p class="form-control-static"> ถึง </p>
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'close[mon]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('close[mon]', ($is_open) ? $time['hourEnd'].":".$time['minuteEnd'] : "")));?>
</div>
</div>
</div>
<div class="form-inline">
<label>
<?php $is_open = ($bike_shop->is_open_on(3)) ? true : false; $time = ($is_open) ? $bike_shop->is_open_on(3)->getTimeRange() : ""; ?>
<?php echo form_checkbox(array('name' => 'is_open[tue]', 'value' => '1', 'checked' => set_checkbox('is_open[tue]', set_value('is_open[tue]'), $is_open)));?> อ.
</label>
<div style="display: inline-flex;">
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'open[tue]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('open[tue]', ($is_open) ? $time['hourStart'].":".$time['minuteStart'] : "")));?>
</div>
<p class="form-control-static"> ถึง </p>
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'close[tue]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('close[tue]', ($is_open) ? $time['hourEnd'].":".$time['minuteEnd'] : "")));?>
</div>
</div>
</div>
<div class="form-inline">
<label>
<?php $is_open = ($bike_shop->is_open_on(4)) ? true : false; $time = ($is_open) ? $bike_shop->is_open_on(4)->getTimeRange() : ""; ?>
<?php echo form_checkbox(array('name' => 'is_open[wed]', 'value' => '1', 'checked' => set_checkbox('is_open[wed]', set_value('is_open[wed]'), $is_open)));?> พ.
</label>
<div style="display: inline-flex;">
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'open[wed]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('open[wed]', ($is_open) ? $time['hourStart'].":".$time['minuteStart'] : "")));?>
</div>
<p class="form-control-static"> ถึง </p>
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'close[wed]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('close[wed]', ($is_open) ? $time['hourEnd'].":".$time['minuteEnd'] : "")));?>
</div>
</div>
</div>
<div class="form-inline">
<label>
<?php $is_open = ($bike_shop->is_open_on(5)) ? true : false; $time = ($is_open) ? $bike_shop->is_open_on(5)->getTimeRange() : ""; ?>
<?php echo form_checkbox(array('name' => 'is_open[thu]', 'value' => '1', 'checked' => set_checkbox('is_open[thu]', set_value('is_open[thu]'), $is_open)));?> พฤ.
</label>
<div style="display: inline-flex;">
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'open[thu]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('open[thu]', ($is_open) ? $time['hourStart'].":".$time['minuteStart'] : "")));?>
</div>
<p class="form-control-static"> ถึง </p>
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'close[thu]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('close[thu]', ($is_open) ? $time['hourEnd'].":".$time['minuteEnd'] : "")));?>
</div>
</div>
</div>
<div class="form-inline">
<label>
<?php $is_open = ($bike_shop->is_open_on(6)) ? true : false; $time = ($is_open) ? $bike_shop->is_open_on(6)->getTimeRange() : ""; ?>
<?php echo form_checkbox(array('name' => 'is_open[fri]', 'value' => '1', 'checked' => set_checkbox('is_open[fri]', set_value('is_open[fri]'), $is_open)));?> ศ.
</label>
<div style="display: inline-flex;">
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'open[fri]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('open[fri]', ($is_open) ? $time['hourStart'].":".$time['minuteStart'] : "")));?>
</div>
<p class="form-control-static"> ถึง </p>
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'close[fri]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('close[fri]', ($is_open) ? $time['hourEnd'].":".$time['minuteEnd'] : "")));?>
</div>
</div>
</div>
<div class="form-inline">
<label>
<?php $is_open = ($bike_shop->is_open_on(7)) ? true : false; $time = ($is_open) ? $bike_shop->is_open_on(7)->getTimeRange() : ""; ?>
<?php echo form_checkbox(array('name' => 'is_open[sat]', 'value' => '1', 'checked' => set_checkbox('is_open[sat]', set_value('is_open[sat]'), $is_open)));?> ส.
</label>
<div style="display: inline-flex;">
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'open[sat]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('open[sat]', ($is_open) ? $time['hourStart'].":".$time['minuteStart'] : "")));?>
</div>
<p class="form-control-static"> ถึง </p>
<div class="time-picker dtpicker">
<?php echo form_input(array('name' => 'close[sat]', 'type' => 'text', 'class' => 'form-control', 'data-date-format' => 'HH:mm', 'value' => set_value('close[sat]', ($is_open) ? $time['hourEnd'].":".$time['minuteEnd'] : "")));?>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">เลือกรายการ</label>
<div class="col-sm-6">
<?php foreach ($facilities as $facility):?>
<div>
<label>
<?php echo form_checkbox(array('name' => "facility[$facility->id]", 'value' => '1', 'checked' => set_checkbox("facility[$facility->id]", set_value("facility[$facility->id]"), $bike_shop->has_facility($facility->id))));?> <?php echo $facility->name; ?>
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="submit"></label>
<div class="col-sm-6"><input type="submit" name="create_user" id="submit" value="แก้ไข" class="btn btn-primary btn-lg"/></div>
</div>
</div>
</div>
<?php echo form_close();?>
</div>
</div>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2015-03-23 18:26:22 |
By :
Sub.P |
View :
887 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าตามหลักแล้วตัว input type จะไม่สามารถแสดงค่า default ได้ครับ ถ้าจะแก้ไขก็คือจะต้อง upload เข้าไปใหมครับ ด้วยกยารตรวจสอบว่ามีการเลือกไฟล์มาหรือไม่ ถ้ามีให้ไปลบอันเก่าทิ้ง แล้วค่อย upload เข้าไปใหม่
|
|
|
|
|
Date :
2015-03-31 07:25:20 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|