Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > รบกวนถามเรืองการนำค่าที่อยู่นอก form มาใส่ใน form จะแก้ปัญหาอย่างไหรครัล



 

รบกวนถามเรืองการนำค่าที่อยู่นอก form มาใส่ใน form จะแก้ปัญหาอย่างไหรครัล

 



Topic : 103730

Guest




คือผมทำระบบข่าวซึ่งเคยถามไปแล้วคัรบ แต่ผมทำส่วนของอัพโหลดรูปเพิ่มขึ้นมาครับ

จากหน้าจอนี้

f1


จาหน้าจอการรันครับ

cs1


ปัญหาของผมคือมี formอันใหม่เข้ามา เห็นว่าจะมีปุ่มกด 2

คือบันทึกกับ อัพโหลด ถ้าผมจะรวมเป็น ตัวเดียวกันต้องทำอย่างไหรครับ
อันนี้จากโค๊ดหน้าน้ครับ



Tag : PHP, MySQL, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-12-17 20:32:53 By : itsup View : 787 Reply : 7
 

 

No. 1

Guest


เอาใหม่น่ะครับผมใส่ track






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 20:52:42 By : itsup
 


 

No. 2



โพสกระทู้ ( 752 )
บทความ ( 3 )



สถานะออฟไลน์
Blogger

เอา tag upload เข้าไปไว้ในฟอร์มครับ เพียงเท่านี้ก็จะส่งค่าได้แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 21:04:40 By : ALTELMA
 

 

No. 3

Guest


จาก from เดิม

Code (PHP)
<td class="text12">
					  <form name="form2" method="post" action="show_list_activity_news.php">
                          <input type="hidden" name="add_status" value="0">
					  </form>
					  <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<p align="center">สำหรับอัพรูปภาพ
  <input name="image_name" type="file" id="image_name" size="40" />
  <span class="text25" style="font-size: 12px; color: #FF0000">กำหนดความกว้างภาพเท่ากับ 400 pixel</span></p>
<p align="center">
<input type="submit" value="Upload" />
<input type="hidden" name="MM_insert" value="form1" />
</p>
</form>



ก็เอาเฉพาะ

Code (PHP)
 <input type="hidden" name="add_status" value="0">
					  </form>
					  <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<p align="center">สำหรับอัพรูปภาพ
  <input name="image_name" type="file" id="image_name" size="40" />
  <span class="text25" style="font-size: 12px; color: #FF0000">กำหนดความกว้างภาพเท่ากับ 400 pixel</span></p>
<p align="center">
<input type="submit" value="Upload" />
<input type="hidden" name="MM_insert" value="form1" />
</p>



ไปไว้ from ข้างบนถูกไหมครับ หมายถึง ฟอร์มที่บันทึกข่าวตอนแรก ผมเข้าใจถูกไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 21:12:53 By : itsup
 


 

No. 4



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


สงสัยไม่เข้าใจหลักการที่บอกไปเมื่อ 2 กระทู้ที่แล้วนะครับ

หลักการคือ
1. คุณไม่จำเป็นต้องแยกออกเป็น 2 form ครับ รวมกันเป็น form เดียวเลย
2. เมื่อคุณส่งค่าจาก form มาเพื่อบันทึก แยกได้เป็น 2 กรณีที่สามารถทำได้
2.1 เก็บข้อมูลภาพ(ชื่อรูปที่อัพโหลด) ไว้ในตารางเดียวกับรายละเอียดข่าวเลย อันนี้ง่ายมาก วิธีทำคือ(ตามของผมนะ)
จะทำการอัพโหลดรูปก่อน ตามโค้ดของคุณจะได้ตัวแปรที่เก็บชื่อรูปนี้ถูกต้องไม๊ครับ?
$image_name = $upload_image->file_dst_name ; // ชื่อไฟล์หลังกระบวนการเก็บ จะอยู่ที่ file_dst_name
เมื่ออัพโหลดรูปเรียบร้อยก็ทำการ INSERT ข้อมูลทั้งหมดไปเก็บในตารางกิจกรรม(ก็ INSERT ธรรมดานี่แหละ) โดยเก็บชื่อรูปด้วย
Code (PHP)
INSERT INTO ชื่อตาราง (ชื่อฟิลด์ที่1,...., image) VALUES('ค่าที่1', ... , '$image_name') #จบ


2.2 เก็บรูปแยกกัลตารางข้อมูลกิจจกรรม อันนี่เพิ่มรายละเอียดขึ้นมาหน่อย คือ
ขั้นแรกต้อง INSERT ข้อมูลกิจกรรมก่อน เมื่อเสร็จแล้วกฌทำการดึงค่า id กิจกรรมล่าสุดมา(เพื่อใช้ในการอ้างอิงรูปต่อไป) โดยใช้คำสั่งนี้
Code (PHP)
$lastID = mysql_insert_id();


จากนั้นทำการอัพรูป(ก็ตามที่คุณเขียนนั่นแหละ) ซึ่งก็จะได้ชื่อรูปมาเหมือนกัน
$image_name = $upload_image->file_dst_name ; // ชื่อไฟล์หลังกระบวนการเก็บ จะอยู่ที่ file_dst_name

เมื่ออัพโหลดรูปแล้ว จากนั้นก็ทำการ INSERT ข้อมูลรูปลงในตารางเก็บรูป โดยจะเก็บ id ของกิจกรรมหรือข่าวเข้าไปด้วย คือ
Code (PHP)
$insertSQL = sprintf("INSERT INTO tbl_image (image_name, activity_id) VALUES ( '%s', '%s' )", $image_name, $lastID  );


เพราะฉะนั้นสื่งที่คุณต้องเพิ่มในขณะนี้ คือ เพิ่มฟิลด์ชื่อ activity_id ในตาราง tbl_image

สำหรับการดึงข้อมูลมาแสดง ในกรณีที่ข้อมูลอยู่ในตารางเดียวกันคุณคงไม่มีปัญหา(ใช่ป่ะ?) มาดูการดึงข้อมูลที่อยู่คนละตารางละกัน

1. กรณีที่่มีรูปเดียว ใช้ JOIN เลยง่ายดี
Code (PHP)
$activity_id = '1'; #สมมติว่าผมต้องการดูกิจกรรมที่มี่ id เท่ากับ 1

$sql = mysql_query("SELECT tbl_activity.*, tbl_image.* FROM  tbl_activity LEFT JOIN tbl_image ON tbl_activity.activity_id = tbl_image.activity_id WHERE tbl_activity.activity_id = '$activity_id' LIMIT 1");

ฯลฯ


2. กรณีที่มีหลายรูป ก็ query 2 ครั้ง(เพื่อความเข้าใจ)

Code (PHP)
$activity_id = '1'; #สมมติว่าผมต้องการดูกิจกรรมที่มี่ id เท่ากับ 1

$sql = mysql_query("SELECT * FROM  tbl_activity WHERE activity_id = '$activity_id' LIMIT 1"); #ข้อมูลกิจกรรม

....คำสั่งอื่นๆ....

#ดึงขอมูลรูป
$sql = mysql_query("SELECT * FROM  tbl_image WHERE activity_id = '$activity_id' "); #ข้อมูลรูป



ถ้ายังไม่เข้าใจ ผมจนปัญญาครับ ผมเขียนโค้ดให้ได้ แต่ผมไม่อยากทำร้ายคุณ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 21:21:19 By : arm8957
 


 

No. 5

Guest


ครับผม ขอบคุณครับผมจะเอาข้อแนะนำสุดท้ายนี้ไปทำต่อครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 21:24:39 By : itsup
 


 

No. 6

Guest


ขอบคุณครับคุณ คนธรรมดา ไม่พิเศษผมรบกวนถามอีกเรืองน่ะครับ

เพิ่มฟิลด์ชื่อ activity_id ในตาราง tbl_image ตอนเราสร้าง table นี้มา ภายในกำหนดเป็นอะไรก็ได้ใช่ไหมครับ

หรือต้องกำหนดตาม table activity_news
คือเป็นชนิด int(10) ตาม table นี้เลยถูกไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-18 14:16:28 By : itsup
 


 

No. 7



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


ชื่อฟิลด์จะตั้งเป็นอะไรก็ได้ครับ แต่ให้สื่อความหมายแล้วเราเข้าใจ แล้วก็ชนิดข้อมูลก็เซ็ตให้เหมือนกันเลยครับ ง่ายดี น่าจะใกล้ถึงจุดหมายละนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-18 21:19:41 By : arm8957
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนถามเรืองการนำค่าที่อยู่นอก form มาใส่ใน form จะแก้ปัญหาอย่างไหรครัล
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่