|
|
|
สอบถามการเขียนโค้ดโดยใช้ checkbox เพื่อกำหนดข้อมูลที่จะ insert ลง database ครับ |
|
|
|
|
|
|
|
ืคือต้องการที่จะให้ผู้ใช้ติ๊กเลือก 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
|
|
|
|
|
|
Date :
2019-07-23 16:38:02 |
By :
2246598742088718 |
View :
930 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$dataset มาจากไหน เขียนตัวแปรต้องระบุที่มาด้วยไม่ใช่เรียกลอยๆจะเรียกเฉยๆก็ได้
ถ้า input เป็น array ก็ต้องเอามาวนลูป foreach ก่อนแล้วไล่อัพเดทเรียงตัวไปครับ
|
|
|
|
|
Date :
2019-07-23 17:38:45 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ผมแก้ไขแล้ว แต่ว่าค่ายังไม่เข้าดาต้าเบสช่วยเช็คให้หน่อยนะครับ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ทำได้แล้วครับ
|
ประวัติการแก้ไข 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|