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,037

HOME > PHP > PHP Forum > สอบถามหน่อยครับเรื่องการอัพโหลดรูปหลายๆรูปในแต่ละแถวโดยเก็บค่าIDแต่ละแถวมาINSERTด้วยในครั้งเดียว



 

สอบถามหน่อยครับเรื่องการอัพโหลดรูปหลายๆรูปในแต่ละแถวโดยเก็บค่าIDแต่ละแถวมาINSERTด้วยในครั้งเดียว

 



Topic : 136898



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



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




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

t
พอ INSERT แล้ว
INSERT INTO picture_check SET pic_name='1.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='1'
INSERT INTO picture_check SET pic_name='3.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='2'
INSERT INTO picture_check SET pic_name='5.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='3


จริงๆต้องเป็น
INSERT INTO picture_check SET pic_name='1.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='1'
INSERT INTO picture_check SET pic_name='2.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='1'
INSERT INTO picture_check SET pic_name='3.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='2'
INSERT INTO picture_check SET pic_name='4.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='2'
INSERT INTO picture_check SET pic_name='5.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='3'
INSERT INTO picture_check SET pic_name='6.png',pic_path='pic_check',pic_datetime='2022-12-12 16:45:52',check_detail_id='3'


Code From)
print("<form action=\"\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\">");
print("<table border=\"1\" style=\"position:relative; left:14px; top:5px; width:400mm;\" class=\"radio-toolbar\" id=\"products\">");
print("<tr>");
print("<td colspan=\"9\" style=\"text-align:center;\">");
print("<input  type=\"hidden\"  name=\"motor_id\" value=\"" . $get_pic_check[0]['motor_name_id'] . "\" >");
print("<div id=\"name_motor2\">Motor Number : " . $get_pic_check[0]['motor_name_id'] . " (" . $get_pic_check[0]['name'] . ")</div>");
// print($get_machine[0]['extra']);
print("</td>");
print("</tr>");
print("<thead");
print("<tr style=\"text-align:center;\">");
//print("<td style=\"width:10%;\">วันที</td>");
$get_check_list = getlist("SELECT * FROM check_list where motor_code_id=" . $get_pic_check[0]['motor_name_id'] . " AND checklist_status='1'");
for ($i = 0; $i < sizeof($get_check_list); $i++) {
    //print("<input type=\"text\" name=\"check_list_id[]\" value=\"" . $get_check_list[$i]['checklist_id'] . "\">");
    print("<tr style=\"text-align:center;\">");
    print("<td style=\"width:12%;\">" . ($i + 1) . "." . $get_check_list[$i]['checklist_name'] . "</td>");
    $get = getlist("SELECT * FROM mac_statuscheck ");
    for ($k = 0; $k < sizeof($get); $k++) {
        print("<td style=\"width:15%;\">");
        print("<input type=\"radio\" id='$i-$k' name=\"status_check[" . $get_check_list[$i]['checklist_id'] . "]\" value=\"" . $get[$k]['id_status'] . "\"  >");
        print("<label  for=\"$i-$k\" style='cursor:pointer;margin-bottom:0px;'>&nbsp;" . $get[$k]['status_name'] . "</label>");
        print("<br>");
        print("</td>");
    }
    print("<td  style=\"width:12%;\">");
    print("<input style=\"width:100%;\" type=\"text\"   name=\"comment[" . $get_check_list[$i]['checklist_id'] . "]\" value=\"\" >");
    print("</td>");
    print("<td style=\"width:12%;\">");
    print("<input style=\"width:100%;\" type=\"file\" value=\"\" name=\"picture[" . $get_check_list[$i]['checklist_id'] . "]\" id=\"picture\" accept=\".jpg,.png\" multiple >");
    print("</td>");
    print("<td style=\"width:12%;\">");
    print("<a onclick=\"window.open('machine_check.php?id=" . $get_check_list[$i]['checklist_id'] . "','','menuber=no,toorlbar=no,location=no,scrollbars=no,  status=no,resizable=no,width=800,height=500,top=60,left=500')\" class=\"btn btn-warning\" >สถานะ</i></a>");
    print("</td>");
    print("</tr>");
}
print("<tr>");
print("<td colspan=\"9\" style=\"text-align:center;\">");
print("<input type='submit' name='submit_check' value='บันทึก' style='width:40%;height:20%;' class='myButton'");
print("</td>");
print("</tr>");
print("</table>");
print("</form>");


Code Insert
if ($_POST['submit_check']) {
    $date_check = date("Y-m-d");
    $time_check = date("H:i:s");
    $pic_datetime = date("Y-m-d H:i:s");
    $motor_id = $_POST['motor_id'];
    $pic = $_POST['pic'];
    $user_check = $_SESSION['id_user'];
    $name_check = $_SESSION['name'];

    foreach ($_POST['status_check'] as $item => $value) {
        $comment = $_POST['comment'][$item];
        $pic = $_POST['pic'][$item];
        {
            query("INSERT INTO check_detail SET date_check='$date_check', time_check='$time_check', motor_name_id='$motor_id',checklist_id='$item',status='$value',comment='$comment',check_user='$user_check',check_name='$name_check'");
        }
    }

    // upload รูป
    foreach ($_FILES['picture']['name'] as $key => $val) {
        $path = "pic_check";
        $file_name = basename(iconv("utf-8", "tis-620", $_FILES["picture"]["name"][$key]));
        $name_insert_db_image = $_FILES["picture"]["name"][$key];
        $target_file = $path . "/" . $file_name; //อ่านชื่อไฟล์
        $imageFileType = pathinfo($target_file, PATHINFO_EXTENSION); //หานามสกุลไฟล์ โดยแบ่งออกเป็น 3 อาเรย์ 1 dirname = path , basename =name+type file
        //print($target_file);
        if (!@mkdir($path, 0, true)) { //เป็นการตรวจสอบ folder ว่ามีหรือไม่ถ้ามีจะเข้าไปที่ if ที่เป็นจริง ถ้าไม่มีระบบจะสร้าง folder ให้และกระโดดไปทำงาน ที่ else

        }

        if (move_uploaded_file($_FILES["picture"]["tmp_name"][$key], $target_file)) {
            query("INSERT INTO picture_check SET pic_name='$name_insert_db_image',pic_path='" . $path . "',pic_datetime='" . $pic_datetime . "',check_detail_id='$key'");
        }
    }

} //end ปุ่ม submit




Tag : PHP, XAMPP









ประวัติการแก้ไข
2022-12-12 16:20:02
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2022-12-12 16:18:53 By : benlovehi5 View : 402 Reply : 7
 

 
พึงระวังการ generate HTML ด้วยลูป
input file ลองเอา id attribute ออก หรือไม่ก็ทำเป็น dynamic id

HTML จะต้องไม่มี id ซ้ำกัน

ลองแค่นี้ก่อน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-12-12 17:15:42 By : 009
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : 009 เมื่อวันที่ 2022-12-12 17:15:42
รายละเอียดของการตอบ ::
.
ยังไงหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-12-12 18:26:39 By : benlovehi5
 

 
HTML จะมี attribute ต่างๆ รวมทั้ง id ด้วย

อะไรคือ attribute
https://www.w3schools.com/html/html_attributes.asp

ความสำคัญของ id attribute
https://www.w3schools.com/html/html_id.asp

ในโค้ดที่คุณแปะมีการสร้าง(generate) HTML แบบ auto/loop จาก server-side (PHP)
แต่ id ของ input file เมื่อวนซ้ำจะได้ id เดียวกันทั้งหมด...ซึ่งผิดหลักของ HTML
ทางเลือก คือ เอา id ออกไปเลย หรือ ทำเป็น dynamic เช่นใส่ picture id หรือ รันเลข ห้อยท้าย

ถ้าไม่เข้าใจศึกษาหรือทบทวนพื้นฐานแต่ละส่วนให้เข้าใจ
หรือฝึก debug ด้วย echo/print_r หรือแม้กระทั่ง
debug tools ในการ step-in, step-over, step-out ด้วย xdebug
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-12-12 19:08:40 By : 009
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : 009 เมื่อวันที่ 2022-12-12 19:08:40
รายละเอียดของการตอบ ::
Ok ครับ เดี๋ยวทำความเข้าใจใหม่ครับ ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-12-12 20:45:59 By : benlovehi5
 


 

No. 5



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

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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

ตอบความคิดเห็นที่ : 4 เขียนโดย : benlovehi5 เมื่อวันที่ 2022-12-12 20:45:59
รายละเอียดของการตอบ ::
ปรับแบบนี้ดูครับ

name=\"picture[]\" id=\"picture_".$get_check_list[$i]['checklist_id']."\"


แล้วก็ php กับ html เขียนปนกันได้นะครับ
เล่น print string ทีละ row ผมว่ามันถึกไปมากครับ แล้วกินแรงตัวเองด้วย

ประมาณนี้ครับ
Code (PHP)
<form>
<input type="file" name="picture[]" id="picture_<?=$get_check_list[$i]['checklist_id'].?>">
</form>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-12-13 15:37:27 By : mongkon.k
 


 
ตอบความคิดเห็นที่ : 5 เขียนโดย : mongkon.k เมื่อวันที่ 2022-12-13 15:37:27
รายละเอียดของการตอบ ::
แล้วนำไปใช้ยังไงต่อครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2023-03-15 13:39:07 By : Smallx
 


 
ตอบความคิดเห็นที่ : 6 เขียนโดย : Smallx เมื่อวันที่ 2023-03-15 13:39:07
รายละเอียดของการตอบ ::
ขึ้นอยู่กับจุดประสงค์ปลายทาง บนพื้นฐานตามลิงค์นี้
https://www.askingbox.com/tip/send-form-input-as-an-array-to-php-script

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2023-03-15 20:42:08 By : 009
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามหน่อยครับเรื่องการอัพโหลดรูปหลายๆรูปในแต่ละแถวโดยเก็บค่าIDแต่ละแถวมาINSERTด้วยในครั้งเดียว
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่