freelance, web developer, web designer, hosting, domain name
ในทางปฏิบัติผมก็แนะนำให้ใช้วิธีนี้แหละครับ เหตุผลเดียวคือ มันจะออกแบบง่ายกว่า
ตัวเลือกที่พอทำได้คือใช้ Flash Upload ครับ ลองดู swfupload ครับ ก็ใช้งานได้ดีทีเดียว
1.แ่ต่ผมให้อยากมันอัพโหลดพร้อมข้อมูลอื่นๆ ในฟอร์ม โดยให้กดปุ่ม submit แค่ครั้งเดียวจะทำอย่างไรครับ โดยไม่ต้องกดปุ่มของ uploadify
2.แล้วผมจะเก็บชื่อไฟล์เ้ข้าฐานข้อมูลในรูปแบบไหนครับ มันจะมีหลายชื่อแล้วจะเก็บในช่องแบบไหนครับ ผมยังไม่ค่อยเข้าใจอ่ะครับ
ขอบคุณ อ.มากครับ
โค้ด add_news.php
<link href="uploadify/css/default.css" rel="stylesheet" type="text/css" />
<link href="uploadify/css/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="uploadify/scripts/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="uploadify/scripts/swfobject.js"></script>
<script type="text/javascript" src="uploadify/scripts/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : 'uploadify/scripts/uploadify.swf',
'script' : 'uploadify/scripts/uploadify.php',
'cancelImg' : 'uploadify/cancel.png',
'folder' : 'uploadify/uploads',
'queueID' : 'fileQueue',
'removeCompleted' : false,
'auto' : true,
'multi' : true
});
});
</script>
<tr><th></th><th>
<div align="left"><a href="javascript:$('#uploadify').uploadifyUpload();">บันทึกไฟล์เข้าระบบ</a> | <a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">ลบไฟล์ทั้งหมด</a></p></div></th>
</tr>
<tr>
<th></th>
<th align="left"><div align="left" id="fileQueue"></div>
</th></tr>
โค้ด uploadify.php
<?php
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$nameFile = $_FILES['Filedata']['name'];
$thainame= iconv("UTF-8","tis-620//IGNORE",$nameFile);
$targetFile = str_replace('//','/',$targetPath) . $thainame;
move_uploaded_file($tempFile,$targetFile);
echo "1";
}
?>
ส่วนเรื่องการจัดเก็บข้อมูล ผมไม่รู้ concept ของงาน เลยให้คำตอบไม่ถูกเช่นกัน คำแนะนำสำหรับวิธีจัดเก็บคือ จัดเก็บในรูปแบบที่สามารถนำข้อมูลออกมาใช้ได้ง่าย (อาจต้องทดลอง) เช่น
เก็บไฟล์อัปโหลดไว้อีกตาราง อ้างถึงกันว่าเป็นไฟล์ของรายการเียวกัน ดัวย upload_id วิธีนี้เหมาะกับการไม่สามารถระบุจำนวนไฟล์ที่อัปโหลดได้
เก็บไฟล์อัปโหลด ไว้ใน record เดียวกัน โดยการกำหนดฟิลด์ข้อมูล ตามจำนวนไฟล์ที่อัปโหลดได้ วิธีนี้จะ query ได้ง่ายกว่า แต่จะมีข้อเสียที่จะจัดเก็บไฟล์ได้จำกัด ตาม record ที่เพิ่มไว้
ขอบคุณ อ. ครับ
เวบที่เขียนเป็นงานเก็บหนังสือบันทึกข้อความ และเอกสารต่างๆครับ concept จะคล้ายๆเว็บ นสพ. และมีการแทรกไฟล์เข้าไปด้วยครับ
แต่ก่อนผมสร้างตารางเก็บหนังสืออย่างละตารางเลยครับ อาทิ หนังสือบันทึกข้อความ 1 ตาราง ข่าวด่วน 1 ตาราง ประมาณนี้ครับ
แต่ตอนนี้ผมมองในภาพรวมแล้วทุกอย่างมีข้อมูลเหมือนกันคือ เลขที่หนังสือ วันที่ ชื่อเรื่อง และเนื้อหา ตอนนี้เลยรวมเป็นตาราง news แล้วทำ listbox เลือกประเภทเอกสารแทนเพื่อใช้อ้างอิงเอาครับ
ผมเคยถาม อ.เกีี่่ยวกับทำ listbox หลายๆอัน เพื่อเอาไปแยกเป็นหมวดหมุ่ของประเภทเอกสาร คือจะแ่บ่งหมวดหมู่เหมือนตู้เก็บเอกสารอ่ะครับ ตอนนี้ผมใช้ dragon html category ครับ ของคนไทยเขียนเอง คือมันสามารถทำ listbox สร้างโหนดลูกได้ไม่่จำกัดเลยครับ ใช้ไอดีในการอ้างอิง ตรงตามความต้องการครับ
ตอนนี้เอาข้อมูลเข้าได้แล้วเหลือไฟล์แนบ ซึ่งยังไม่ค่อยเข้าใจ
ตอนบันทึกไฟล์แนบก็เข้าตาราง upload มี id name_master(ชื่อไฟล์ต้นฉบับ) name_db(เปลี่ยนชื่อไฟล์ก่อนจัดเก็บจริง โดยเป็นการใช้ id+1 เพิ่มขึ้นเรื่อยๆ) folder(เพื่อแยกไฟล์แต่ละเอกสาร ชื่อเดียวกับ id ของตาราง news) news_id(ใช้อ้างอิงว่าไฟล์นี้เป็นของข่าวไหน)
ส่วนเนื้อหาก็เข้าตาราง news
ผมคิดอย่างนี้ถูกปะครับ
ผมก็ต้องเขียนพอกด submit แล้วให้บันทึกข้อมูลเข้าตาราง news ต่อมาก็โหลดไฟล์เข้าตาราง upload แล้วก็เก็บเอา id ของตาราง news มาใส่ไว้ด้วย ถูกปะครับ
คิดไปคิดมางง
รบกวน อ. ชี้แนวทางด้วยครับ
ขอบคุณครับ
ในทางปฏิบัติผมก็แนะนำให้ใช้วิธีนี้แหละครับ เหตุผลเดียวคือ มันจะออกแบบง่ายกว่า
กรอกข้อมูลอื่นๆให้เรีบร้อยก่อน ในขั้นตอนแรก เพื่อสร้าง id ของ หนังสือ โดยใช้ตารางตาสรางหนึ่ง
ขั้นตอนที่ 2 ให้ทำการอัปโหลดไฟล์ ซึ่งสามารถอัปโหลดได้ไม่จำกัด หากแยก ตารางของไฟล์ไว้อีกตารางหนึ่ง โดยอ้างถึงข้อมูลเอกสารด้วย id (สามารถใช้ id ประกอบลงในชื่อไฟล์ที่อัปโหลดได้ เพื่อให้การค้นหาไฟล์ที่เกี่ยวข้องทำได้ง่ายขึ้น)
สรุปให้เข้าใจง่ายๆ คือ ที่คิดก็ถูกต้องแล้ครับ
ขอบคุณอีกครั้งครับ