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 > multiple dynamic checkbox จะ update แยกตามไอดี รายละเอียดด้านในครับ



 

multiple dynamic checkbox จะ update แยกตามไอดี รายละเอียดด้านในครับ

 



Topic : 125924



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



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




จากรูปจะบันทึกโดยแยกเป็นไอดีทำยังไงครับ เช่น ฝั่ง notebook มี type เป็น 2 ipad มี type เป็น 4 บันทึก

จะแยกแบบนี้น่ะครับ
id(auto) | type | machine | amount | log_id(FK)
1------------2-------1,2,3--------3------------1
2------------4-------31,32-------2------------1

แต่ type นี่มีการ insert มาก่อนหน้า แล้วมาเลือกเครื่องตามรูป update เข้า

พ

Code (PHP)
<form id="form_item">
              <div class="row">
                <div class="col-lg-2">
                  <button type="button" class="btn btn-success" id="btn-save" data-loading-text="กำลังบันทึกข้อมูล..."><span class="glyphicon glyphicon-floppy-disk"></span> บันทึก</button>
                  <a type="button" class="btn btn-info" id="btn-signature" href="signature?Action=Yes&id=<?php echo $_GET['id']; ?>" style="display: none;"><span class="glyphicon glyphicon-edit"></span> ลงนาม</a>
                  <input type="hidden" name="id" id="id" value="<?php echo $_GET['id']; ?>">
                </div>
              </div>
              <br>
              <div class="row">
              <?php  
              $select_item = explode(',', $_GET['item']);
              $amount = explode(',', $_GET['amount']);
              $number = count($select_item);  
        // echo $select_item[0] ."<br>";
        // echo $select_item[1] ."<br>";

        try {
          for($i=0; $i<$number; $i++){ 
            if ($select_item[$i] == 1) {
               $name = 'Computer PC';
            }
            elseif ($select_item[$i] == 2) {
               $name = 'Notebook';
            }
            elseif ($select_item[$i] == 3) {
               $name = 'Microsoft Surface3';
            }
            else{
               $name = 'Apple iPad';
            }
    
            $status = 'idle';
            $sql_item = $db->prepare('SELECT list,machine_id 
                          FROM tbl_machine 
                          WHERE type = :type 
                            AND status = :status
                          ORDER BY machine_id ASC');
            $sql_item->bindParam(':type',$select_item[$i],PDO::PARAM_INT);
            $sql_item->bindParam(':status',$status,PDO::PARAM_STR);
            $sql_item->execute();
            echo '<div class="col-md-3">';
            // echo '<input type="hidden" id="hidden'.$amount[$i].'" value="'.$select_item[$i].'">';

            if ($sql_item->rowCount() > 1) {
                echo "<strong>".$name."</strong>";
                $x = 0;
              while ($results = $sql_item->fetch(PDO::FETCH_ASSOC)) {
                echo '<div class="checkbox">';
                echo  '<label>';
                  echo  '<input type="checkbox" class="item" name="item[]" id="item'.$results["list"].'" data-id="'.$amount[$i].'" data-sel="'.$select_item[$i].'" value="'.$results["machine_id"].'" />'.$results["list"];
                  echo  '</label>';
                  echo '</div>';
                  $x++;
              }
            }
            else {
              echo '<strong>ไม่มีข้อมูลหรือไม่มีเครื่องว่าง</strong>';
            }
            echo "</div>"; //col-md-3
          } //for
        }//try
          catch(PDOException $e) {
            echo 'ERROR: ' . $e->getMessage();
          } 
            ?>
            </div>
            </form>
          </div>



Code (PHP)
<?php
include 'connect.php';

if(is_array($_POST["item"])){
	$item = implode(',', $_POST['item']); //xx,xx,xx,xx
}
print_r($_POST['item']);
$id = $_POST['id']; //log_id
$machine_id = $_POST['item'];
try {
			$update = $db->prepare('UPDATE tbl_borrow_logs
									SET item = :item
									WHERE log_id = :id');
			$update->bindParam(':id',$id,PDO::PARAM_STR);
			$update->bindParam(':item',$item,PDO::PARAM_STR);
			$update->execute();

			// $update = $db->prepare('UPDATE tbl_select_item
			// 						SET machine = :item
			// 						WHERE id = :id');
			// $update->bindParam(':id',$id,PDO::PARAM_STR);
			// $update->bindParam(':item',$item,PDO::PARAM_STR);
			// $update->execute();

			$x = count($machine_id);
			$status = 'busy';
			for($i=0; $i < $x; $i++){
				$sql1 = $db->prepare('UPDATE tbl_machine 
									  SET status = :status 
									  WHERE machine_id = :id');
				$sql1->bindParam(':id',$machine_id[$i],PDO::PARAM_INT);
				$sql1->bindParam(':status',$status,PDO::PARAM_STR);
				$sql1->execute();
		}	
		echo "success";
	}
	
catch(Exception $e) {
    	//echo "Error: " . $e->getMessage();
    	echo 'Exception -> ';
    	var_dump($e->getMessage());
    }

$db = null;
?>




Tag : PHP, MySQL, JavaScript, Ajax, jQuery









ประวัติการแก้ไข
2017-01-04 13:15:39
2017-01-04 13:17:18
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-01-04 13:14:21 By : littlebeer View : 897 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ตอนนี้ติดปัญหาตรงไหนครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-05 11:37:55 By : mr.win
 


 

No. 2



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



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


ติดตรงตอนนี้ผมบันทึกได้เป็นแบบนี้ type นี่มีการบันทึกมาก่อนหน้าแล้วนะครับ แล้วจะมา update ฟิลด์ machine ทีหลัง

id(auto) | type | machine | amount | log_id(FK)
1------------2---1,2,3,31,32------3------------1
2------------4------ ------2------------1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-09 08:55:34 By : littlebeer
 

 

No. 3



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



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


ดันหน่อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-09 22:27:11 By : littlebeer
 


 

No. 4



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

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

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

อันนี้ก็ขึ้นอยู่กับว่า ท่านได้ออกแบบตาราง ฐานข้อมูลไว้แบบไหนครับ ตามความต้องการคือ จะบันทึก หรือ อัพเดท หรือจะทำอะไรก็แล้วแต่ อันนี้ Process ระบบท่านน่าจะรู้อยู่แล้ว เพราะท่านเป็นคนออกแบบ? สำหรับปัญหาความต้องการ มันมองแค่ code กับภาพ capture แล้วจะตอบให้เคลียร์เลยไม่ได้ครับ ถ้าให้เดา ก็น่าจะเป็นการอัพเดทหลายๆ ครั้ง อันนี้ ก็ต้องออกแบบตารางฐานข้อมูลให้ดีด้วย ส่วน Code นั้น มันก็แค่ Post , Get ธรรมดาทั่วไป สู้ๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-10 01:40:05 By : Manussawin
 

   

ค้นหาข้อมูล


   
 

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