ถามถึงการ upload file pdf ครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ถามถึงการ upload file pdf ครับ
ถามถึงการ upload file pdf ครับ
Copy
คือผมต้องการอัพโหลดไฟล์ pdf อ่าครับ และอยากให้มันสามารถกดดูได้ในตารางอ่าครับ
ผมออกแบบ DB ไว้อย่างนี้อ่าครับ
ไฟล์ MamageProject.php
ผมออกแบบ DB ไว้อย่างนี้อ่าครับ
CREATE TABLE `project_tbl` (
`p_id` int(5) UNSIGNED NOT NULL,
`p_name` varchar(100) NOT NULL,
`p_name_contact` varchar(100) NOT NULL,
`p_name_relate` varchar(100) NOT NULL,
`p_date_start` date NOT NULL,
`p_date_end` date NOT NULL,
`p_version` double NOT NULL,
`p_status` enum('start','plan','process','end') NOT NULL COMMENT 'start=เริ่มต้น,plan=วางแผน,process=ดำเนินการ,end=สิ้นสุด',
`p_detail` varchar(200) DEFAULT NULL,
`p_file` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
โดย p_file จะเป็นที่เก็บไฟล์อ่าครับไฟล์ MamageProject.php
<?php include("Header_PM.php"); ?>
<?php include("Sidebar_PM.php"); ?>
<?php
include"db_class_PM.php";
$db = new Database();
if(isset($_POST['search_project'])){
//get search Project
$get_project = $db->search_project_name($_POST['search_project']);
}else{
//call method getProject
$get_project = $db->get_all_project();
}
?>
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">จัดการข้อมูลโครงการ</h3>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="alert alert-warning alert-dismissable">
<a class="panel-close close" data-dismiss="alert">×</a>
<i class="fa fa-hand-o-right"></i>
<strong>จัดการโครงการ</strong>. ตารางเพิ่ม ค้นหา แก้ไข และลบข้อมูลโครงการ
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-info">
<div class="panel-heading"><h4>ตารางโครงการ</h4></div>
<br>
<div class="col-lg-12">
<button class="btn btn-success" data-toggle="modal"
data-target="#add_project"><i class="glyphicon glyphicon-plus"></i> เพิ่มข้อมูล</button>
<a role="button" class="btn btn-default "
href="ManageProject.php">
<i class="glyphicon glyphicon-refresh"></i>
โหลดหน้าจอใหม่
</a>
</div><br><br>
<!-- /.panel-heading -->
<!-- /.panel-heading -->
<div class="panel-body">
<div class="dataTable_wrapper">
<table class="table table-striped table-bordered table-hover"
id="data-project">
<thead>
<tr class="success">
<th width="20%">ชื่อโครงการ</th>
<th width="15%">ชื่อผู้ติดต่อ</th>
<th width="15%">วันที่เริ่ม</th>
<th width="10%">เวอร์ชัน</th>
<th width="20%">สถานะโครงการ</th>
<th width="10%">ไฟล์</th>
<th width="10%">คำสั่ง</th>
</tr>
</thead>
<tbody>
<?php $i = 1;
if(!empty($get_project)){
foreach($get_project as $project){
?>
<tr>
<td><?php echo $project['p_name']?></td>
<td><?php echo $project['p_name_contact']?></td>
<td><?php echo $project['p_date_start']?></td>
<td align="center"><?php echo $project['p_version']?></td>
<td><?php
if($project['p_status'] == 'start'){
echo '<span class="progress-bar progress-bar-danger progress-bar-striped" role="progressbar" aria-valuenow="20"
aria-valuemin="0" aria-valuemax="100" style="width:25%"> เริ่มต้น 10%</span>';
}
else if ($project['p_status'] == 'plan' ){
echo '<span class="progress-bar progress-bar-warning progress-bar-striped" role="progressbar" aria-valuenow="20"
aria-valuemin="0" aria-valuemax="100" style="width:50%"> วางแผน 40%</span>';
}
else if ($project['p_status'] == 'process' ){
echo '<span class="progress-bar progress-bar-info progress-bar-striped" role="progressbar" aria-valuenow="20"
aria-valuemin="0" aria-valuemax="100" style="width:80%"> กำลังพัฒนา 80%</span>';
}
else if ($project['p_status'] == 'end' ){
echo '<span class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="20"
aria-valuemin="0" aria-valuemax="100" style="width:100%"> สำเร็จ 100%</span>';
}
?>
</td>
<td><?php echo $project['p_file']?></td>
<td><button class="btn btn-warning btn-xs" data-toggle="modal"
data-target="#edit_project"
onclick="return show_edit_user(<?php echo $user['user_id']?>);">แก้ไข</button>
<button class="btn btn-danger btn-xs"
onclick="return delete_project(<?php echo $user['user_id']?>);">ลบ</button>
</td>
</tr>
<?php
$i++;
}
}else{
echo "<tr><td colspan='5'>ไม่พบข้อมูล</td></tr>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- Modal Add Project -->
<div class="modal fade" id="add_project" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">เพิ่มข้อมูลโครงการ</h4>
</div>
<div class="modal-body">
<form class="form-horizontal modal-body" role="form" id="add_user_form" action="">
<label for="p_name">ชื่อโครงการ :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-book"></i></span>
<input id="p_name" type="text" class="form-control"
data-validation="required"
data-validation-error-msg=" ห้ามเว้นว่าง! กรุณากรอกขื่อโครงการ"
name="send_p_name" placeholder="Ex. การพัฒนาระบบจัดการผู้ใช้" value="">
</div>
<label for="p_name_contact">ชื่อผู้ติดต่อ :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input id="p_name_contact" type="text" class="form-control"
data-validation="required"
data-validation-error-msg=" ห้ามเว้นว่าง! กรุณากรอกขื่อผู้ติดต่อ"
name="send_p_name_contact" placeholder="Ex. ฝ่ายบุคคล" value="">
</div>
<label for="p_name_relate">ชื่อผู้เกี่ยวข้อง :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input id="p_name_relate" type="text" class="form-control"
data-validation="required"
data-validation-error-msg=" ห้ามเว้นว่าง! กรุณากรอกชื่อผู้เกี่ยวข้อง"
name="send_p_name_relate" placeholder="Ex. ประวิทย์ ชูเพชร" value="">
</div>
<label for="p_date_start">วันที่เริ่มโครงการ :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-time"></i></span>
<input id="p_date_start" type="text" class="input-group date form-control""
data-date-format="yyyy-mm-dd" placeholder="0000-00-00" data-validation="required"
data-validation-error-msg=" ห้ามเว้นว่าง! กรุณากรอกวันที่เริ่มโครงการ"
name="send_p_date_start" placeholder="" value="">
</div>
<label for="p_date_end">วันที่สิ้นสุดโครงการ :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-time"></i></span>
<input id="p_date_end" type="text" class="input-group date form-control""
data-date-format="yyyy-mm-dd" placeholder="0000-00-00" data-validation="required"
data-validation-error-msg=" ห้ามเว้นว่าง! กรุณากรอกวันที่สิ้นสุดโครงการ"
name="send_p_date_end" placeholder="" value="">
</div>
<label for="p_version">เวอร์ชันโครงการ :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-star"></i></span>
<input id="p_version" type="text" class="form-control" data-validation="required"
data-validation-error-msg=" ห้ามเว้นว่าง! กรุณากรอกเวอร์ชันโครงการ"
name="send_p_version" placeholder="1.1" value="">
</div>
<label for="p_status">สถานะโครงการ :</label>
<select class="form-control" name="send_permission">
<option value="start">เริ่มต้นโครงการ</option>
<option value="plan">วางแผน</option>
<option value="process">กำลังพัฒนา</option>
<option value="end">สิ้นสุดโครงการ</option>
</select>
<br>
<label for="p_detail">รายละเอียดโครงการ :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-info-sign"></i></span>
<input id="p_detail" type="text" class="form-control"
name="send_p_detail" placeholder="รายละเอียดของโครงการ" value="">
</div>
<label for="p_detail">ไฟล์โครงการ :</label>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-file"></i></span>
<input id="p_file" type="file" class="form-control"
name="send_p_file" placeholder="" value="">
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-info" name="Submit"
onclick="return add_project_form();">บันทึก</button>
<p class="help-block pull-left text-danger hide"
id="form-error"> ระบุข้อมูลและรูปแบบข้อมูลให้ถูกต้อง </p>
<button type="submit" class="btn btn-danger" data-dismiss="modal">ยกเลิก</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript" charset="utf-8" language="javascript" class="init">
$(document).ready(function() {
$('#data-project').dataTable( {
"oLanguage": {
"oPaginate": {
"sFirst": "หน้าแรก",
"sLast": "หน้าสุดท้าย",
"sNext": "ถัดไป",
"sPrevious": "ก่อนหน้า"
},
"sLengthMenu": "แสดง _MENU_ รายการ ต่อหน้า",
"sZeroRecords": "ไม่พบข้อมูลที่ค้นหา",
"sInfo": "แสดง _START_ ถึง _END_ จากทั้งหมด _TOTAL_ รายการ",
"sEmptyTable": "ไม่พบรายการข้อมูล",
"sLoadingRecords": "ระบบกำลังประมวลผล กรุณารอซักครู่",
"sProcessing": "ประมวลผลข้อมูล",
"sInfoEmpty": "ไม่พบรายการข้อมูลที่แสดง",
"sInfoFiltered": "(จากทั้งหมด _MAX_ รายการ)",
"sSearch": "ค้นหา :"
},
} );
} );
</script>
<script type="text/javascript">
$(document).ready(function () {
$('.search-button').click(function () {
$('.search-form').toggle();
return false;
});
});
</script>
<script src="js/bootstrap-datepicker.js"></script>
<script>
$('.date').datepicker({
format: 'yyyy-mm-dd',
})
</script>
<?php include("Footer_PM.php"); ?>
และไฟล์ db_class_project.php
<?php
class Database {
private $host = 'localhost'; //ชื่อ Host
private $user = 'root'; //ชื่อผู้ใช้งาน ฐานข้อมูล
private $password = 'abc456'; // password สำหรับเข้าจัดการฐานข้อมูล
private $database = 'rtm'; //ชื่อ ฐานข้อมูล
//function เชื่อมต่อฐานข้อมูล
protected function connect(){
$mysqli = new mysqli($this->host,$this->user,$this->password,$this->database);
$mysqli->set_charset("utf8");
if ($mysqli->connect_error) {
die('Connect Error: ' . $mysqli->connect_error);
}
return $mysqli;
}
//function เรื่ยกดูข้อมูล all project
public function get_all_project(){
$db = $this->connect();
$get_project = $db->query("SELECT * FROM project_tbl");
while($project = $get_project->fetch_assoc()){
$result[] = $project;
}
if(!empty($result)){
return $result;
}
}
public function search_project_name($post = null){
$db = $this->connect();
$get_project = $db->query("SELECT * FROM project_tbl WHERE p_name LIKE '%".$post."%' ");
while($project = $get_project->fetch_assoc()){
$result[] = $project;
}
if(!empty($result)){
return $result;
}
}
public function get_project($p_id){
$db = $this->connect();
$get_project = $db->prepare("SELECT p_id,p_name,p_name_contact,p_name_relate,p_date_start
,p_date_end,p_version,p_status,p_detail,p_file FROM project WHERE p_id = ?");
$get_project->bind_param('i',$p_id);
$get_project->execute();
$get_project->bind_result($p_id,$p_name,$p_name_contact,$p_name_relate,$p_date_start
,$p_date_end,$p_version,$p_status,$p_detail,$p_file);
$get_project->fetch();
$result = array(
'p_id'=>$p_id,
'p_name'=>$p_name,
'p_name_contact'=>$p_name_contact,
'p_name_relate'=>$p_name_relate,
'p_date_start'=>$p_date_start,
'p_date_end'=>$p_date_end,
'p_version'=>$p_version,
'p_status'=>$p_status,
'p_detail'=>$p_detail,
'p_file'=>p_file
);
return $result;
}
//function เพื่ม project
public function add_project($data){
$db = $this->connect();
$add_project = $db->prepare("INSERT INTO project_tbl (p_id,p_name,p_name_contact,p_name_relate
,p_date_start,p_date_end,p_version,p_status,p_detail,p_file) VALUES(NULL,?,?,?,?,?,?,?,?,?) ");
$add_project->bind_param("sssssssss",$data['sent_p_name'],$data['sent_p_name_contact'],$data['sent_p_name_relate']
,$data['sent_p_date_start'],$data['sent_p_date_end'],$data['sent_p_version'],$data['sent_p_status'],$data['sent_p_detail'],$data['sent_p_file']);
if(!$add_project->execute()){
echo $db->error;
}else{
echo "บันทึกข้อมูลเรียบร้อย";
}
}
//function edit project
public function edit_project($data){
$db = $this->connect();
$add_project = $db->prepare("UPDATE project_tbl SET p_name = ? , p_name_contact = ? , p_name_relate = ?
, p_date_start = ? , p_date_end = ? , p_version = ? , p_status = ? , p_detail = ? , p_file = ? WHERE p_id = ?");
$add_project->bind_param("sssssdsssi",$data['edit_name'],$data['edit_name_contact'],$data['edit_name_relate']
,$data['edit_date_start'],$data['edit_date_end'],$data['edit_version'],$data['edit_status'],$data['edit_detail']
,$data['edit_file'],$data['edit_p_id']);
if(!$add_project->execute()){
echo $db->error;
}else{
echo "บันทึกข้อมูลเรียบร้อย";
}
}
//function delete project
public function delete_project($id){
$db = $this->connect();
$add_project = $db->prepare("DELETE FROM project_tbl WHERE p_id = ?");
$add_project->bind_param("i",$id);
if(!$del_project->execute()){
echo $db->error;
}else{
echo "ลบข้อมูลเรียบร้อย";
}
}
}
?>
คือผมควรต้องเพิ่มโค้ดตรงไหน อย่างไร รบกวนด้วยนะครับคำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ