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 > เพิ่มข้อมูลจาก checkbox แล้วข้อมูลมันเข้ามั่วอ่ะครับ บางอันก็ไม่เข้า



 

เพิ่มข้อมูลจาก checkbox แล้วข้อมูลมันเข้ามั่วอ่ะครับ บางอันก็ไม่เข้า

 



Topic : 108718



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



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



ระบบคือ ผมคิวรี่รายชื่อทั้งหมดของออกแผนกมา แล้วใส่ checkbox ด้านหน้า พร้อมทั้งใส่อาร์เรย์ไปแล้ว รวมถึงซ่อนinputไว้เพื่อส่งข้อมูลขึ้นไป ตอนนี้ผมมีพนักงานทั้งหมด 4 คน ถ้าผมติ้กเลือกทุกคน ข้อมูลเข้าฐานข้อมูลทุกคน แต่ถ้าผมเลือกแค่ 3 คน ไม่ว่าจะเป็นคนใดก็ตาม คนล่างสุดจะไม่มีชื่อในฐานข้อมูล รบกวน เพื่อนๆพี่ เช็คให้ทีนะครับ ว่าเป็นที่ลูป หรือ input กัน หรือเป็นที่ตรงไหน

จากบทความ อันนี้เลยครับ https://www.thaicreate.com/php/forum/051650.html ล่างสุดของadmin ผมทำออกมาได้ ตามนี้

Code (PHP)
 <? $strSQL = "SELECT * FROM tbprofile";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="406" border="1">

  <tr>
    <td>&nbsp;</td>
    <td align="center">รหัสประจำตัว</td>
    <td align="center">ชื่อ</td>
    <td align="center">&nbsp;</td>
    </tr>
    <?
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td width="68" align="center"><input type="checkbox" name="chk_id[]" value="<?=$objResult["id"];?>" /></td>
    <td width="81" align="center"><?=$objResult["id"];?>
      <input type="hidden" name="id[]" value="<?=$objResult["id"];?>"/></td>
    <td width="131"><?=$objResult["name_thai"];?><input type="hidden" name="name[]" value="<?=$objResult["name_thai"];?>"/></td>
    <td width="98" align="center"><?=$objResult["part"];?><input type="hidden" name="status[]" value="unread"/><input type="hidden" name="date" value="<?php echo date("Y-m-d H:i:s"); ?>"/></td>
    </tr>
<?
}
?>
</table>


ส่วนโค้ดการเพิ่มข้อมูล

Code (PHP)
 
 <?  for($i=0;$i<count($_POST["chk_id"])+1;$i++)
	{
		if($_POST["chk_id"][$i] != "")
		{
			$strSQL = "INSERT INTO sent_doc ";
$strSQL .="(id,name_thai,status,id_doc,title,date) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["chk_id"][$i]."','".$_POST["name"][$i]."','".$_POST["status"][$i]."' ";
$strSQL .=",'".$_POST["id_doc"]."','".$_POST["title"]."','".$_POST["date"]."') ";
			$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");	
			echo 'ส่งให้คุณ'.$_POST["name"][$i].'เรียบร้อยแล้ว<br>' ;		
		}
	}

	echo "<script type='text/javascript'>alert('เพิ่มเอกสารในระบบเรียบร้อยแล้วค่ะ')</script>";
		echo '<script language=Javascript>top.location.href="index.php";</script>';

}
?>


หห

ขออภัยที่ช่วงนี้รบกวนบ่อยไปนะครับ งานจี้ตูดมากเลยตอนนี้ ขอบคุณทุกคนครับ



Tag : PHP, MySQL, HTML/CSS, Ajax, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-05-28 17:00:23 By : benzsara View : 1087 Reply : 5
 

 

No. 1

Guest


Code (PHP)
 <? $strSQL = "SELECT * FROM tbprofile";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="406" border="1">

  <tr>
    <td>&nbsp;</td>
    <td align="center">รหัสประจำตัว</td>
    <td align="center">ชื่อ</td>
    <td align="center">&nbsp;</td>
    </tr>
    <?
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td width="68" align="center"><input type="checkbox" name="chk_id[<?=$objResult["id"];?>]" value="<?=$objResult["id"];?>" /></td>
    <td width="81" align="center"><?=$objResult["id"];?>
      <input type="hidden" name="id[<?=$objResult["id"];?>]" value="<?=$objResult["id"];?>"/></td>
    <td width="131"><?=$objResult["name_thai"];?><input type="hidden" name="name[<?=$objResult["id"];?>]" value="<?=$objResult["name_thai"];?>"/></td>
    <td width="98" align="center"><?=$objResult["part"];?><input type="hidden" name="status[<?=$objResult["id"];?>]" value="unread"/><input type="hidden" name="date" value="<?php echo date("Y-m-d H:i:s"); ?>"/></td>
    </tr>
<?
}
?>
</table>


Code (PHP)
<? 
foreach($_POST["chk_id"] as $val)
	{
		if($_POST["chk_id"][$val] != "")
		{
			$strSQL = "INSERT INTO sent_doc ";
$strSQL .="(id,name_thai,status,id_doc,title,date) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["chk_id"][$val]."','".$_POST["name"][$val]."','".$_POST["status"][$val]."' ";
$strSQL .=",'".$_POST["id_doc"]."','".$_POST["title"]."','".$_POST["date"]."') ";
			$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");	
			echo 'ส่งให้คุณ'.$_POST["name"][$val].'เรียบร้อยแล้ว<br>' ;		
		}
	}

	echo "<script type='text/javascript'>alert('เพิ่มเอกสารในระบบเรียบร้อยแล้วค่ะ')</script>";
	echo '<script language=Javascript>top.location.href="index.php";</script>';

}
?>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-28 17:33:21 By : WiTT
 


 

No. 2



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



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

บอกหน่อยครับผม ว่ามันต่างจากของเดิมอย่างไรบ้าง กับ

foreach($_POST["chk_id"] as $val)

อันนี้อ่ะครับ รบกวนขอเก็บความรู้หน่อยนะครับ ขอบคุณมากครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-28 17:59:19 By : benzsara
 

 

No. 3



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



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

แบบเดิมนั้นแบบฟอร์มจะมี name ตามด้วยเลข ลำดับ
แต่แบบที่สองแบบฟอร์มจะมี name[รหัสของแต่ละเรคอร์ด]

จึงใช้ foreach ดึงค่าแบบที่สองที่เป็นอาร์เรย์ออกมา

แต่แบบแรกใช้ for เพื่อดึงข้อมูลตามลำดับ 1 2 3

งงมั้ย ? ผมรู้สึกจะอธิบายเร็วไปหน่อย ฮ่าๆๆๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-28 20:37:17 By : {Cyberman}
 


 

No. 4

Guest


แบบที่คุณ {Cyberman} บอกแหร่ะครับ

ตอนแรกคุณตั้งชื่อ checkbox เป็นแบบ name[] ซึ่ง index array จะเริ่มที่ 0 เสมอ

แต่ checkbox มันจะส่งค่าไปได้ก็ต่อเมื่อคุณติ๊กเลือก หรือมีค่าเป็น checked เท่านั้น

ส่วน input ตัวอื่น เช่น hiden text จะส่งไปทั้งหมดที่อยู่ใน form

เพราะงั้นสมมติ คุณเลือกที่ไอดี 10005735 คนเดียว แล้วส่งค่าไป

ค่าที่จะได้ของ hiden name คุณก็จะเป็นของไอดี 10005732 เพราะไอดีมันเริ่มที่ 0


แต่แบบที่สองแบบฟอร์มจะมี name[รหัสของแต่ละเรคอร์ด] ซึ่งผมคิดว่า รหัสของแต่ละเรคอร์ด ของคุณไม่น่าจะซ้ำกัน

ผมเลยเอามาทำเป็น index array แทนที่จะให้มันเริ่มต้นที่ 0 เอง

ส่วนการใช้งาน foreach ก็ค้นหาวิธีใช้ใน google เอาเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-28 21:04:48 By : WiTT
 


 

No. 5



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



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

อ๋อ ขอบคุณมากครับ ผมว่าแล้วว่าต้องเป็นที่ loop ตรงการบันทึกข้อมูล

เดี๋ยวพรุ่งนี้ไปที่ทำงานแล้วจะลองทำดูครับ ขอบคุณมากๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-28 23:48:29 By : benzsara
 

   

ค้นหาข้อมูล


   
 

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