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 > จะแก้ไขข้อมูลในตารางหลายrecordพร้อมกันโดยใช้submitปุ่มเดียว แต่มันแก้ไขแค่recordสุดท้ายครับ ขอบคุณครับ มือใหม่ครับ



 

จะแก้ไขข้อมูลในตารางหลายrecordพร้อมกันโดยใช้submitปุ่มเดียว แต่มันแก้ไขแค่recordสุดท้ายครับ ขอบคุณครับ มือใหม่ครับ

 



Topic : 136836



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



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




รบกวนพี่ๆหน่อยนะครับ ขอบคุณครับ

อันนี้ตารางครับ
Code (PHP)
<table id="example" class="display responsive-table ">
   <thead>
 <tr>
      <th width="30">#</th>
      <th width="30">id</th>
      <th width="100">Date</th>
      <th width="280"><i class="material-icons prefix">account_circle</i>Employe Name</th>
      <th width="100">leavetype</th> <th width="50">hours</th>
      <th width="80">From</th>
      <th width="80">To</th>
      <th width="50">Shift</th>
      <th width="150">Remark</th>
      <th width="30"></th>
  </tr>
   </thead>
<tbody>
       <?php
        $eid = $_SESSION['emplogin'];
        $sql = "SELECT * from tblleaves where HLine=:eid";
        $query = $dbh->prepare($sql);
        $query->bindParam(':eid', $eid, PDO::PARAM_STR);
        $query->execute();
        $results = $query->fetchAll(PDO::FETCH_OBJ);
        $cnt = 1;
        if ($query->rowCount() > 0) {
          foreach ($results as $result) {    ?>


    <tr>
     <td> <b><?php echo htmlentities($cnt); ?></b></td>
     <td><input value="<?php echo htmlentities($result->id); ?>" id="aid" name="aid" class="form-control" type="text" readonly required></td>

     <td><?php echo htmlentities($result->PostingDate); ?></td>
     <td><input value="<?php echo htmlentities($result->Ename); ?>" id="emname" name="emname" class="form-control" type="text" readonly required></td>

     <td><select name="leavetype" class="form-select" aria-label="Default select example">
     <option value="<?php echo htmlentities($result->LeaveType); ?>"><?php echo htmlentities($result->LeaveType); ?></option>
     <option value="ลาป่วย">ลาป่วย</option>
     <option value="ลากิจ">ลากิจ</option>
     <option value="ลาพักร้อน">ลาพักร้อน</option>
     <option value="ลากิจพิเศษ">ลากิจพิเศษ</option>
     <option value="ลาอุปสมบท">ลาอุปสมบท</option>
     <option value="ลาคลอด">ลาคลอด</option>
      </select></td>

     <td><select name="hours" class="form-select" aria-label="Default select example">
    <option value="<?php echo htmlentities($result->hours); ?>"><?php echo htmlentities($result->hours); ?></option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
   </select></td>

    <td><input value="<?php echo htmlentities($result->FromDate); ?>" id="mask1" name="fromdate" class="form-control" type="time" required></td>

    <td><input value="<?php echo htmlentities($result->ToDate); ?>" id="mask2" name="todate" class="form-control" type="time" required></td>

    <td><select name="shift" class="form-select" aria-label="Default select example">
   <option value="<?php echo htmlentities($result->Shift); ?>"><?php echo htmlentities($result->Shift); ?></option>
   <option value="A">A</option>
   <option value="B">B</option>
   </select></td>

    <td><input id="remark" name="remark" type="text" value="<?php echo htmlentities($result->Remark); ?>" autocomplete="off" required></td>
   
    <td><a href="View_attendance.php?del=<?php echo htmlentities($result->id); ?>" onclick="return confirm('Do you want to Cancel');">Cancel</a>  </td>
      <?php $cnt++; } } ?>

     </tr>
</tbody>
</table>




อันนี้codeอัพเดท
Code (PHP)
   if (isset($_POST['update'])) {
        $leavetype = $_POST['leavetype'];
        $hours = $_POST['hours'];
        $fromdate = $_POST['fromdate'];
        $todate = $_POST['todate'];
        $shift = $_POST['shift'];
        $remark = $_POST['remark'];
        $aid = $_POST['aid'];
        $sql = "update tblleaves set LeaveType=:leavetype,hours=:hours,FromDate=:fromdate,ToDate=:todate,Shift=:shift,Remark=:remark where id=:aid";
        $query = $dbh->prepare($sql);
        $query->bindParam(':leavetype', $leavetype, PDO::PARAM_STR);
        $query->bindParam(':hours', $hours, PDO::PARAM_STR);
        $query->bindParam(':fromdate', $fromdate, PDO::PARAM_STR);
        $query->bindParam(':todate', $todate, PDO::PARAM_STR);
        $query->bindParam(':shift', $shift, PDO::PARAM_STR);
        $query->bindParam(':remark', $remark, PDO::PARAM_STR);
        $query->bindParam(':aid', $aid, PDO::PARAM_STR);
        $query->execute();
        $msg = "บันทึกสำเร็จ";
    }




Tag : PHP, MySQL, HTML, Google Chrome, XAMPP, Windows









ประวัติการแก้ไข
2022-10-07 13:18:59
2022-10-07 13:23:24
2022-10-07 13:55:08
2022-10-07 14:12:56
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2022-10-07 13:07:38 By : chenwongsa View : 831 Reply : 7
 

 

No. 1



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

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


เท่าที่ดูคร่าวๆ ถ้าในลักษณะนี้ input ควรเป็น array ครับ โดยการ update แต่ละครั้งเมื่อมีการ submit ควรใช้ foreach ในการแตก array แต่ละตำแหน่งเพื่อทำการ update ข้อมูล
PS : ต้องจำไว้ว่า php จะอ่านจากบนลงล่างเสมอ ถ้าไม่มีการระบุ type เป็น array มันจะนำค่าล่างสุดมาทำการ update หรือที่เรียกว่า Lastest input update








ประวัติการแก้ไข
2022-10-07 15:15:16
2022-10-07 15:17:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-10-07 15:13:41 By : Genesis™
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Genesis™ เมื่อวันที่ 2022-10-07 15:13:41
รายละเอียดของการตอบ ::
ขอบคุณมากๆเลยครับพี่ ใช้ foreach ในการแตก array แต่ละตำแหน่ง ต้องใส่foreachแบบใหนครับ พอจะเขียนตัวอย่างให้ดูหน่อยได้มั้ยครับ ผมเพิ่งฝึกทำครับติดตรงนี้มาสองวันแล้วครับลองหาดูก็ไม่ค่อยเข้าใจ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-10-07 15:47:52 By : chenwongsa
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Genesis™ เมื่อวันที่ 2022-10-07 15:13:41
รายละเอียดของการตอบ ::
อันนี้ผมลองทำดูมันไปอัพเดทrecordแรกสุดแทนครับ จากตอนแรกอัพเดทrecordสุดท้าย

Code (PHP)
if (isset($_POST['update'])){
        $leavetype = $_POST['leavetype'];
        $hours = $_POST['hours'];
        $fromdate = $_POST['fromdate'];
        $todate = $_POST['todate'];
        $shift = $_POST['shift'];
        $remark = $_POST['remark'];
        $aid = $_POST['aid'];
            $sql = "update tblleaves set LeaveType=:leavetype,hours=:hours,FromDate=:fromdate,ToDate=:todate,Shift=:shift,Remark=:remark,id=:aid where id=:aid";
            foreach ($aid as $aid)
            foreach ($leavetype as $leavetype)
            foreach ($hours as $hours)
            foreach ($fromdate as $fromdate)
            foreach ($todate as $todate)
            foreach ($shift as $shift)
            foreach ($remark as $remark) {
            $query = $dbh->prepare($sql);
            $query->bindParam(':leavetype', $leavetype, PDO::PARAM_STR);
            $query->bindParam(':hours', $hours, PDO::PARAM_STR);
            $query->bindParam(':fromdate', $fromdate, PDO::PARAM_STR);
            $query->bindParam(':todate', $todate, PDO::PARAM_STR);
            $query->bindParam(':shift', $shift, PDO::PARAM_STR);
            $query->bindParam(':remark', $remark, PDO::PARAM_STR);
            $query->bindParam(':aid', $aid, PDO::PARAM_STR);
            $query->execute();
            $msg = "บันทึกสำเร็จ";
        
    }}

Code (PHP)
<tbody>
        <?php
         $eid = $_SESSION['emplogin'];
         $sql = "SELECT * from tblleaves where HLine=:eid";
         $query = $dbh->prepare($sql);
         $query->bindParam(':eid', $eid, PDO::PARAM_STR);
         $query->execute();
         $results = $query->fetchAll(PDO::FETCH_OBJ);
         $cnt = 1;
         if ($query->rowCount() > 0) {
         foreach ($results as $result) {    ?>


        <tr>
        <td> <b><?php echo htmlentities($cnt); ?></b></td>
        <td><input value="<?php echo htmlentities($result->id); ?>" id="aid" name="aid[]" class="form-control" type="text" readonly required></td>

        <td><?php echo htmlentities($result->PostingDate); ?></td>
        <td><input value="<?php echo htmlentities($result->Ename); ?>" id="emname" name="emname[]" class="form-control" type="text" readonly required></td>

        <td><select name="leavetype[]" class="form-select" aria-label="Default select example">
        <option value="<?php echo htmlentities($result->LeaveType); ?>"><?php echo htmlentities($result->LeaveType); ?></option>
        <option value="ลาป่วย">ลาป่วย</option>
        <option value="ลากิจ">ลากิจ</option>
        <option value="ลาพักร้อน">ลาพักร้อน</option>
        <option value="ลากิจพิเศษ">ลากิจพิเศษ</option>
        <option value="ลาอุปสมบท">ลาอุปสมบท</option>
        <option value="ลาคลอด">ลาคลอด</option>
         </select></td>

        <td><select name="hours[]" class="form-select" aria-label="Default select example">
                                                                    <option value="<?php echo htmlentities($result->hours); ?>"><?php echo htmlentities($result->hours); ?></option>
         <option value="3">3</option>
         <option value="4">4</option>
         <option value="5">5</option>
         <option value="6">6</option>
         <option value="7">7</option>
         <option value="8">8</option>
         </select></td>

         <td><input value="<?php echo htmlentities($result->FromDate); ?>" id="mask1" name="fromdate[]" class="form-control" type="time" required></td>

         <td><input value="<?php echo htmlentities($result->ToDate); ?>" id="mask2" name="todate[]" class="form-control" type="time" required></td>

         <td><select name="shift[]" class="form-select" aria-label="Default select example">
         <option value="<?php echo htmlentities($result->Shift); ?>"><?php echo htmlentities($result->Shift); ?></option>
         <option value="A">A</option>
         <option value="B">B</option>
         </select></td>
          <td>
         <input id="remark" name="remark[]" type="text" value="<?php echo htmlentities($result->Remark); ?>" autocomplete="off" required>
         </td>
         <td><a href="View_attendance.php?del=<?php echo htmlentities($result->id); ?>" onclick="return confirm('Do you want to Cancel');">Cancel</a>
          </td>
          </tr>
    <?php $cnt++; } } ?>

      </tbody>




ประวัติการแก้ไข
2022-10-07 16:37:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-10-07 16:30:39 By : chenwongsa
 


 

No. 4



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

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


Example
$arr_id = array(0,1,5,3,7);
$arr_name = array('Toyota', 'Honda', 'Good Cat', 'Benz', 'BMW');

foreach( $arr_id as $key => $val ){
    echo $key." ".$val." ".$arr_name[$key]."<br />";
}


อ่าน Logic แล้วลองไปปรับปรุงครับ


ประวัติการแก้ไข
2022-10-07 16:33:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-10-07 16:32:11 By : Genesis™
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : Genesis™ เมื่อวันที่ 2022-10-07 16:32:11
รายละเอียดของการตอบ ::
ขอบคุณมากๆเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-10-07 16:38:59 By : chenwongsa
 


 

No. 6



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



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


มันอาจจะน่าเบื่อหน่อย แต่คำอธิบายของ แต่ละฟังก์ชั่นมีความสำคัญต้องอ่านให้เข้าใจครับ

ถ้าคูณไม่ว่ารู้ว่าเกวียนมันทำงานยังไง คุณก็ขี่เกวียนไม่ได้
ในทำนองเดียวกัน คำสั่งแต่ล่ะคำสั่งมันมีความแตกต่างกัน

parameter ที่ต้องใส่
result ที่ได้รับ มันคืออะไร

ที่สำคัญขนิดของตัวแปร วิธีอ่านค่า และใส่ค่าเข้าไปใน array

มันมีหลายอย่างที่ต้องรู้ ถ้าไม่อ่านให้เข้าใจ ก็หมดสิทธิ์ไปต่อครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-10-07 20:27:07 By : Chaidhanan
 


 
ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2022-10-07 20:27:07
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-10-10 09:36:14 By : chenwongsa
 

   

ค้นหาข้อมูล


   
 

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