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 เพื่อกำหนดข้อมูลที่จะ insert ลง database ครับ



 

สอบถามการเขียนโค้ดโดยใช้ checkbox เพื่อกำหนดข้อมูลที่จะ insert ลง database ครับ

 



Topic : 133929



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



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




ืคือต้องการที่จะให้ผู้ใช้ติ๊กเลือก checkbox ข้อมูลที่ต้องการเพื่อที่ผมจะได้อัพลง database และนำไปใช้ต่อครับ

DATA TABLE
<?php
SESSION_START();
require_once('config.php');
require_once('class/class.upload.php') ;

	$ven = $conn->query("SELECT * FROM itemforuser ");
	$numr = $ven->num_rows;
?>

<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.dataTables.min.css">
<script type="text/javascript">
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
</script>
<script>
$('input[type=checkbox]').live("change",function(){
    var target = $(this).parent().find('input[type=hidden]').val();
    if(target == 0)
    {
        target = 1;
    }
    else
    {
        target = 0;
    }
    $(this).parent().find('input[type=hidden]').val(target);
});
</script>
</head>

<body>
<div align="center">
<form id= "MyForm" method= "POST" action= "test_save.php">
<table width="70%" border="1" id="myTable">
<thead>
  <tr>
    <th width="5%"><div align="center">NO.</div></th>
  	<th width="10%"><div align="center">ACCOUNT CODE</div></th>
    <th width="25%"><div align="center">ITEM NAME</div></th>
    <th width="5%"><div align="center"></div></th>
  </tr>
  </thead>
  <tbody>

<?php
	 
$i=0;

while($i<$numr && $ven2 = $ven->fetch_assoc())
{$i++;
	
?>
<tr> 
<td><center><?php echo $ven2["id"]; ?></center></td>
<td><center><?php echo $ven2["acc_name"]; ?></center></td>
<td><?php echo $ven2["item_name"]; ?></td>
<td><center><input type="checkbox" ><input type="hidden" name="dataset[]" value="0" ></center></td>
</tr>
<?php
}
?>
</tbody> 
</table>
</div>
<div align="center"> 
<input type="submit" name="submit" value="Submit">
<input type=button onClick='window.history.back()' value='Cancel'>
</div> 
</form>
<script>	
	$(document).ready( function () {
    $('#myTable').DataTable();
} );

</script>

</body>
</html>


อันนี้คือส่วนอัพลง database ครับ
UPLOAD DATA
<html>
<head>
<title></title>
<script type="text/javascript">
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
</script>
</head>
<body>
<?php
	ini_set('display_errors', 1);
	error_reporting(~0);

	$serverName = "localhost";
	$userName = "root";
	$userPassword = "1234";
	$dbName = "purchasenewtest";

	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
	mysqli_set_charset($conn, 'utf8');

	if($dataset == 0)  {
	$sql = " INSERT INTO r(accountcode,orders) 
		VALUES ('".$_POST["dataset[]"]."','".$_POST["dataset[]"]."' ) ";
	$query = mysqli_query($conn,$sql);
		}
		
	if($query) {
		echo " <p align=center> Record add successfully </p> ";	
		}

	mysqli_close($conn);
?>
<div align="center">
<br></br>
<input type=button onClick="MM_goToURL('parent','vendor.php');return document.MM_returnValue" value='DONE'>
</div>
</body>
</html>


ปัญหาคือผมอยากทราบว่าถ้ากรณีแบบนี้เราจะเอา row ที่ถูกติ๊กอัพลงอีก database นึงได้อย่างไรครับ
ปล.จำนวนขึ้นอยู่กับผู้ใช้นะครับ



Tag : PHP, MySQL, HTML, JavaScript, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-07-23 16:38:02 By : 2246598742088718 View : 930 Reply : 6
 

 

No. 1



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



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


$dataset มาจากไหน เขียนตัวแปรต้องระบุที่มาด้วยไม่ใช่เรียกลอยๆจะเรียกเฉยๆก็ได้

ถ้า input เป็น array ก็ต้องเอามาวนลูป foreach ก่อนแล้วไล่อัพเดทเรียงตัวไปครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-23 17:38:45 By : mr.v
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2019-07-23 17:38:45
รายละเอียดของการตอบ ::
ขอบคุณมากครับผมนึกว่าค่ามันจะมาจากการกด submit ด้วย มันคือ ชุดข้อมูลของ array ในหน้า index ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-23 20:47:40 By : 2246598742088718
 

 

No. 3



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



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


if($dataset == 0) {

$sql = " INSERT INTO r(accountcode,orders)
VALUES ('".$_POST["dataset[]"]."','".$_POST["dataset[]"]."' ) ";

สีแดงคือใช้ผิดวิธี

อันแรกก็ตามความเห็น mr.v นะครับ ต้องใช้รูปแบบนี้ $_POST['dataset'][ index_no ]

ส่วนสีแดง แถวล่างเหมือนกันก็ต้องใช้ให้ถูก รูปแบบเดียวกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-24 11:31:45 By : Chaidhanan
 


 

No. 4



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



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


ตอนนี้ผมแก้ไขแล้ว แต่ว่าค่ายังไม่เข้าดาต้าเบสช่วยเช็คให้หน่อยนะครับ
INDEX
<?php
SESSION_START();
require_once('config.php');
require_once('class/class.upload.php') ;

	$ven = $conn->query("SELECT * FROM itemforuser ");
	$numr = $ven->num_rows;
?>

<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.dataTables.min.css">
<script type="text/javascript">
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
</script>
<script>
$('input[type=checkbox]').live("change",function(){
    var target = $(this).parent().find('input[type=hidden]').val();
    if(target == 0)
    {
        target = 1;
    }
    else
    {
        target = 0;
    }
    $(this).parent().find('input[type=hidden]').val(target);
});
</script>
</head>

<body>
<div align="center">
<form id= "MyForm" method= "POST" action= "">
<table width="70%" border="1" id="myTable">
<thead>
  <tr>
    <th width="5%"><div align="center">NO.</div></th>
  	<th width="10%"><div align="center">ACCOUNT CODE</div></th>
    <th width="25%"><div align="center">ITEM NAME</div></th>
    <th width="5%"><div align="center"></div></th>
  </tr>
  </thead>
  <tbody>

<?php
	 
$i=0;

while($i<$numr && $ven2 = $ven->fetch_assoc())
{$i++;
	
?>
<tr> 
  <td><center><input type="hidden" name="txtID[]" value="<?php echo $ven2["id"];?>"><?php echo $ven2["id"];?></center></td>
  <td><center><input type="hidden" name="txtACC[]" value="<?php echo $ven2["acc_name"];?>"><?php echo $ven2["acc_name"];?></center></td>
  <td><input type="hidden" name="txtITM[]" value="<?php echo $ven2["item_name"];?>"><?php echo $ven2["item_name"];?></td>
<td><center><input type="checkbox" ><input type="hidden" name="dataset[]" value="0" ></center></td>
</tr>
<?php
}
?>
</tbody> 
</table>
</div>
<div align="center"> 
<input type="submit" name="submit" value="Submit">
<input type=button onClick='window.history.back()' value='Cancel'>
</div> 
</form>
<script>	
	$(document).ready( function () {
    $('#myTable').DataTable();
} );

</script>
<?php

if (isset($_POST[submit]))

{ 
if($dataset == 1){
foreach($_POST['txtID'] as $i => $txtID){

$txtACC = $_POST['txtACC'][$i];
$txtITM = $_POST['txtITM'][$i]; 

	$serverName = "localhost";
	$userName = "root";
	$userPassword = "1234";
	$dbName = "purchasenewtest";

	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
	mysqli_set_charset($conn, 'utf8');

$sql = "insert into r (id , accountcode , orders ) values ( '$txtID','$txtACC','$txtITM' )";

	$query = mysqli_query($conn,$sql);

}
}
}

?>

</body>
</html>



ประวัติการแก้ไข
2019-07-24 16:07:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-24 16:04:38 By : 2246598742088718
 


 

No. 5



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



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


$_POST[submit]

ศึกษาวิธีเขียนที่ถูกหลักการและเป็นปัจจุบันหน่อยนะครับ
https://phptherightway.com/
https://www.php.net/manual/en/language.types.array.php

ตรวจดูจุดอื่นๆด้วย แล้วถ้ามันไม่มา แทนที่จะปล่อยโค้ดให้มันรันทำงานไปก็ควรจะรู้จัก debug บ้างว่ามันรับอะไรมา เช่นเอามา print_r($_POST);exit(); เพื่อดู


ประวัติการแก้ไข
2019-08-01 00:19:11
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-08-01 00:17:54 By : mr.v
 


 

No. 6



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



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


ตอนนี้ทำได้แล้วครับ


ประวัติการแก้ไข
2019-08-01 10:39:07
2019-08-01 10:52:47
2019-08-01 11:00:22
2019-08-01 17:28:11
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-08-01 10:35:38 By : 2246598742088718
 

   

ค้นหาข้อมูล


   
 

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