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 > check box จะให้ส่งค่าทั้งหมดที่วนลูป แต่มันยังส่งไปแค่ค่าสุดท้าย



 

check box จะให้ส่งค่าทั้งหมดที่วนลูป แต่มันยังส่งไปแค่ค่าสุดท้าย

 



Topic : 135471



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



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




ไฟล์หน้าแรก เลือกข้อมูลไป แต่ค่าจะเป็นค่าสุดท้ายของการตาราง อยากทราบวิธีการส่งค่าทั้งหมดของ check box ที่เราเลือก

php1.php

Code (PHP)
<form method="post" enctype="multipart/form-data" id="form_wf" name="form_wf" action="insert.php">
      $a = 0;

$sqldate = db::query("SELECT PER_CODE,PER_IDCARD,PER_FIRSTNAME_TH,PER_LASTNAME_TH, FROM PER_PROFILE JOIN SETUP_POS_LINE ON PER_PROFILE.LINE_ID = SETUP_POS_LINE.LINE_ID");
$sqldate1 = db::fetch_array($sqldate);
?>

<link rel="stylesheet" type="text/css" href="../assets/css/sortable.css">

<div class="table-responsive" data-pattern="priority-columns">
	<table class="table table-bordered sorted_table " >
		<thead class="bg-primary">
			<tr class="bg-primary">
				<th scope="col"></th>
				
				<th width="8%"  scope="col">รหัสพนักงาน</th>
				<th width="15%" scope="col">ชื่อพนักงาน</th>
			</tr>
		</thead>
<?php 	  
	while($sqldate1 = db::fetch_array($sqldate)){
		
	
			if($arr_position['YEAR'] >= 60 && $arr_position['YEAR'] < 61 ){
				
			?>
		
		  <tbody>
			<tr>
			
			  <td style="text-align:center"><input type="checkbox" onClick="get_personnel('<?php echo $sqldate1["PER_CODE"]?>');" /></td>
			  <td><?php echo $sqldate1['PER_CODE'] ?></td>
			  <td><?php echo $sqldate1['PER_FIRSTNAME_TH']." " . $sqldate1['PER_LASTNAME_TH'] ?></td>
			  <td><?php echo $sqldate1['LINE_NAME_TH']. " " . $sqldate1['LEVEL_ID'] ?></td>
			  
				$array['']{
				
				
				}
			</tr>
			
		  </tbody>
		
			<input type="hidden" id="PER_CODE" name="PER_CODE" class="form-control"  value="<?php echo $sqldate1['PER_CODE']; ?>">
			<input type="hidden" id="PER_NAME" name="PER_NAME" class="form-control"  value="<?php echo $sqldate1['PER_FIRSTNAME_TH']; ?>">	
			<input type="hidden" id="PER_LAST" name="PER_LAST" class="form-control"  value="<?php echo $sqldate1['PER_LASTNAME_TH']; ?>">	
			
		
			<?php 	$a = $a+1;}	}
			
	?>
	</table>
	
	
	
	<script type="text/javascript">

	function get_personnel(id){
		
		window.opener.$('#PER_NAME').val(id);
		alert(id);
	}
	</script>

     <div class="row">
				<div class="col-md-12">
                    <div class="wf-right">&nbsp;
							<button type="submit" class="btn btn-success waves-effect waves-light"><i class="icofont icofont-tick-mark"  title=""></i> บันทึก</button>
						
                    </div>
                </div>
            </div>
			</form>



ลอง echo ค่าดู มันมาแค่ค่าสุดท้าย ผมไม่รู้วิธีการส่งค่าทั้งหมดของ check box

insert.php

Code (PHP)
<?php
	 if(isset($_POST)){	
		echo $_POST['PER_CODE'];
	} 
?>






Tag : PHP, CSS, Bootstrap Framework







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-08-17 21:17:59 By : byte00789 View : 1572 Reply : 5
 

 

No. 1



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



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

ส่งแบบ array
ใน form ใส่ [] ให้กับ name attribute
id ไม่ต้องมี ถ้ามีต้องไม่ซ้ำ

การเช็คข้อมูล หน้า insert เปลี่ยน echo เป็น print_r

https://stackoverflow.com/questions/11676011/post-array-from-html-form






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-17 22:10:10 By : PhrayaDev
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-08-17 22:10:10
รายละเอียดของการตอบ ::
ขอบคุณครับเดียวผมขอลองทำก่อนนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-17 22:34:05 By : byte00789
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-08-17 22:10:10
รายละเอียดของการตอบ ::
ค่ามันมาทั้งหมดเลยไม่ได้มาตามที่เราเลือก ต้องแก้ยังไงหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-18 08:58:01 By : byte00789
 


 

No. 4



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



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

Ex.

<form method='post' id='userform' action='thisform.php'> <tr>
<td>Trouble Type</td>
<td>
<input type='checkbox' name='checkboxvar[]' value='Option One'>1<br>
<input type='checkbox' name='checkboxvar[]' value='Option Two'>2<br>
<input type='checkbox' name='checkboxvar[]' value='Option Three'>3
</td> </tr> </table> <input type='submit' class='buttons'> </form>

<?php
if (isset($_POST['checkboxvar']))
{
print_r($_POST['checkboxvar']);
}
?>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-18 11:08:34 By : champkung226
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : byte00789 เมื่อวันที่ 2020-08-18 08:58:01
รายละเอียดของการตอบ ::
PER_CODE เป็น input hidden เช็คสถานะ checkbox ด้วย event เช่น onchange ฯลฯ
https://stackoverflow.com/questions/901712/how-do-i-check-whether-a-checkbox-is-checked-in-jquery

ถ้าไม่ checked ให้ remove attribute name ของกลุ่ม hidden นั้นออก
...หรือ remove ทั้ง element ออกไปเลย

Code (PHP)
/* จัดการ hidden ก่อนส่ง(POST) ไปหน้า insert */
<input type="hidden" id="PER_CODE" name="PER_CODE" class="form-control"  value="<?php echo $sqldate1['PER_CODE'];?>">
<input type="hidden" id="PER_NAME" name="PER_NAME" class="form-control"  value="<?php echo $sqldate1['PER_FIRSTNAME_TH'];?>">    
<input type="hidden" id="PER_LAST" name="PER_LAST" class="form-control"  value="<?php echo $sqldate1['PER_LASTNAME_TH'];?>">


พอ user กลับมาเช็คค่อยแสดงใหม่...กระบวนการนี้ฝรั่งเรียกว่า toggle (ตอนทำ inspect ดูแบบ front-end จะสะดวกกว่า)

ตัวอย่าง https://www.w3schools.com/code/tryit.asp?filename=GHV5KKTTPAI8
Code (JavaScript)
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
var keep = new Array();
$(document).ready(function(){
  $('input[type="checkbox"]').change(function(){
  	var i = $('input[type="checkbox"]').index(this);
  	if (typeof keep === 'undefined') {
    	var tmp = "";
    	$(this).siblings('input[type="hidden"][of="'+i+'"]').each(function(i, e) {
    		tmp += $(e).prop("outerHTML") + "\n";
    	});
        keep[i] = tmp;
    } else {
    	if (!keep[i].length) {
        	var tmp = "";
        	$(this).siblings('input[type="hidden"][of="'+i+'"]').each(function(i, e) {
    			tmp += $(e).prop("outerHTML") + "\n";
    		});
            keep[i] = tmp;
        }
    }
	
  	if ($(this).not(":checked").length) {
    	$(this).siblings().remove('input[type="hidden"][of="'+i+'"]');
    } else {
    	if (!$(this).siblings('input[type="hidden"][of="'+i+'"]').length) {
        	$(this).siblings("br:last").after(keep[i]);
        	keep[i] = "";
        }    	
    }
  });
});

//PhrayaDev@2020
</script>
</head>
<body>

<form>
  <input type="checkbox" id="chk1" name="chk1" value="of=0" checked>
  <label for="chk1"> hidden ที่มี of="0"</label><br>
  <input type="checkbox" id="chk2" name="chk2" value="of=1" checked>
  <label for="chk2"> hidden ที่มี of="1"</label><br>
  <input type="checkbox" id="chk3" name="chk3" value="of=2" checked>
  <label for="chk3"> hidden ที่มี of="2"</label><br><br>
  <input type="hidden" name="a" value="1" of="0">
  <input type="hidden" name="b" value="2" of="0">
  <input type="hidden" name="c" value="3" of="0">
  <input type="hidden" name="d" value="4" of="1">
  <input type="hidden" name="e" value="5" of="1">
  <input type="hidden" name="f" value="6" of="1">
  <input type="hidden" name="g" value="7" of="2">
  <input type="hidden" name="h" value="8" of="2">
  <input type="hidden" name="i" value="9" of="2">
  <input type="submit" value="Submit">
</form>

</body>
</html>


สังเกตเวลาเช็คและไม่เช็ค input hidden จะมีการเปลี่ยนแปลงตามกลุ่ม





[i]ลองประยุกต์ใช้ดูครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-18 17:32:31 By : PhrayaDev
 

   

ค้นหาข้อมูล


   
 

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