ขอถามหน่อยครับ เราจะเก็บค่าใน textbox ลง DB ยังไง ถ้าเป็น ตารางที่เพิ่มแถวและลบแถวได้ ในลักษณะ นี้
กำหนดให้ค่าที่ส่งจากฟอร์มอยู่ในรูปของ Array ครับ
Code (PHP)
<tr id="firstTr">
<td width="10"><input name="Scholarships_year[]" type="text" id="Scholarships_year" size="10" /></td>
<td width="20"><input name="Scholarships_name[]" type="text" id="Scholarships_name" size="20" /></td>
<td width="20"><input name="Scholarships_kind[]" type="text" id="Scholarships_kind" size="20" /></td>
<td width="20"><input name="Scholarships_money[]" type="text" id="Scholarships_money" size="20" /></td>
</tr>
เวลาบันทึกก็ใช้หลักการประมาณนี้
Code (PHP)
<?PHP
$num_values = count($_POST['Scholarships_year'])-1;
for($i=0;$i<=$num_values;$i++){
#ค่าที่นำไปใช้จะอยู่ในรูปแบบนี้ครับ
$Scholarships_year = $_POST['Scholarships_year'][$i];
$Scholarships_name= $_POST['Scholarships_name'][$i];
$Scholarships_kind= $_POST['Scholarships_kind'][$i];
$Scholarships_money= $_POST['Scholarships_money'][$i];
#คำสั่ง INSERT.....
}
?>
ดัดแปลงเอานะครับ
ประวัติการแก้ไข 2013-09-19 10:10:33 2013-09-19 10:11:46
Date :
2013-09-19 10:07:47
By :
arm8957
แบบนี้ ปะ ลอง แล้ว ก็ไม่ได้อะ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Multirows Insert</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){ var chk=0;
$("#addRow").click(function(){
var NR =""; NR="<tr>";
NR+="<td width=\"60\">"; NR+="<input type=\"text\" name=\"Scholarships_year[]\" id=\"Scholarships_year\" size=\"10\" />"; NR+="</td>";
NR+="<td width=\"120\">"; NR+="<input type=\"text\" name=\"Scholarships_name[]\" id=\"Scholarships_name\" size=\"20\" />"; NR+="</td>";
NR+="<td width=\"120\">"; NR+="<input type=\"text\" name=\"Scholarships_kind[]\" id=\"Scholarships_kind\" size=\"20\" />"; NR+="</td>";
NR+="<td width=\"120\">"; NR+="<input type=\"text\" name=\"Scholarships_money[]\" id=\"Scholarships_money\" size=\"20\" />"; NR+="</td>" ;
NR+="</tr>";chk+=1
//$("#myTbl").append($("#firstTr").clone());
$("#myTbl").append($(NR)); });
$("#removeRow").click(function(){
if($("#myTbl tr").size()>2){
$("#myTbl tr:last").remove() ;chk-=1;
}else{
alert("ต้องมีรายการข้อมูลอย่างน้อย 1 รายการ");
}
});
$('input[name="toon"]').click(function(){
var Ck = $(this).val();
if(Ck=="no"){
$('#DivTable').hide();
}else{
$('#DivTable').show();
}
});
});
</script>
<form action="test_add.php" >
<label><input type="radio" name="toon" value="yes" checked/>
เคยได้รับทุการศึกษา </label>
<label><input type="radio" name="toon" value="no"/>
ไม่เคยได้รับทุการศึกษา </label>
<br />
<div id="DivTable">
<table id="myTbl" width="70" border="1" style="display:">
<tr>
<td align="center">ปีการศึกษา</td>
<td align="center">ชื่อทุน</td>
<td align="center">ประเภท</td>
<td align="center">จำนวนเงิน</td>
</tr>
<tr id="firstTr">
<td width="10"><input name="Scholarships_year[]" type="text" id="Scholarships_year" size="10" /></td>
<td width="20"><input name="Scholarships_name[]" type="text" id="Scholarships_name" size="20" /></td>
<td width="20"><input name="Scholarships_kind[]" type="text" id="Scholarships_kind" size="20" /></td>
<td width="20"><input name="Scholarships_money[]" type="text" id="Scholarships_money" size="20" /></td>
</tr>
</table>
<p>
<button id="addRow" type="button">+</button>
<button id="removeRow" type="button">-</button>
<button id="submit" type="submit" name="submit"> ตกลง</button>
</p>
</div>
</form>
<br />
</body>
</html>
ไฟล์ test_add.php
Code (PHP)
<?PHP
$num_values = count($_POST['Scholarships_year'])-1;
for($i=0;$i<=$num_values;$i++){
$Scholarships_year = $_POST['Scholarships_year'][$i];
$Scholarships_name= $_POST['Scholarships_name'][$i];
$Scholarships_kind= $_POST['Scholarships_kind'][$i];
$Scholarships_money= $_POST['Scholarships_money'][$i];
}
?>
<?php
echo "INSERT INTO nisit (Scholarships_year ,Scholarships_name ,Scholarships_kind ,Scholarships_money ) values ('$Scholarships_year' ,'$nisit_name' ,'$Scholarships_name' ,'$Scholarships_kind' ,'$Scholarships_money' )"; ?>
Date :
2013-09-24 14:42:36
By :
komza
ต้องนำ insert เข้าไปใน loop for ครับ เพื่อที่จะทำการแตก array
example.php
Code (PHP)
$Product=$_POST['Product'];
for($i=0;$i<count($Product);$i++){
$insert=mysql_query("insert into tb_example (Product) values ('".$Product[$i]."')") or die (mysql_error());
}
ประวัติการแก้ไข 2013-09-24 14:47:48
Date :
2013-09-24 14:47:19
By :
Ex-[S]i[L]e[N]t
Code (PHP)
echo Scholarships_year;
echo $Scholarships_name;
echo $Scholarships_kind;
echo $Scholarships_money;
ในลูป for ออกไหม
Date :
2013-09-24 14:49:19
By :
anotherdie
แบบนี้ ก็ไม่ออก คับ ไคร รู้ ช่วย แก้ หน่อย ยัง เก็บ ค่า ตัวนี้ ไม่ ได้ มา 2 อาทิต ละ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Multirows Insert</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){ var chk=0;
$("#addRow").click(function(){
var NR =""; NR="<tr>";
NR+="<td width=\"60\">"; NR+="<input type=\"text\" name=\"Scholarships_year[chk]\" id=\"Scholarships_year\" size=\"10\" />"; NR+="</td>";
NR+="<td width=\"120\">"; NR+="<input type=\"text\" name=\"Scholarships_name[chk]\" id=\"Scholarships_name\" size=\"20\" />"; NR+="</td>";
NR+="<td width=\"120\">"; NR+="<input type=\"text\" name=\"Scholarships_kind[chk]\" id=\"Scholarships_kind\" size=\"20\" />"; NR+="</td>";
NR+="<td width=\"120\">"; NR+="<input type=\"text\" name=\"Scholarships_money[chk]\" id=\"Scholarships_money\" size=\"20\" />"; NR+="</td>" ;
NR+="</tr>";chk+=1
//$("#myTbl").append($("#firstTr").clone());
$("#myTbl").append($(NR)); });
$("#removeRow").click(function(){
if($("#myTbl tr").size()>2){
$("#myTbl tr:last").remove() ;chk-=1;
}else{
alert("ต้องมีรายการข้อมูลอย่างน้อย 1 รายการ");
}
});
$('input[name="toon"]').click(function(){
var Ck = $(this).val();
if(Ck=="no"){
$('#DivTable').hide();
}else{
$('#DivTable').show();
}
});
});
</script>
<form action="test_add.php" >
<label><input type="radio" name="toon" value="yes" checked/>
เคยได้รับทุการศึกษา </label>
<label><input type="radio" name="toon" value="no"/>
ไม่เคยได้รับทุการศึกษา </label>
<br />
<div id="DivTable">
<table id="myTbl" width="70" border="1" style="display:">
<tr>
<td align="center">ปีการศึกษา</td>
<td align="center">ชื่อทุน</td>
<td align="center">ประเภท</td>
<td align="center">จำนวนเงิน</td>
</tr>
<tr id="firstTr">
<td width="10"><input name="Scholarships_year[]" type="text" id="Scholarships_year" size="10" /></td>
<td width="20"><input name="Scholarships_name[]" type="text" id="Scholarships_name" size="20" /></td>
<td width="20"><input name="Scholarships_kind[]" type="text" id="Scholarships_kind" size="20" /></td>
<td width="20"><input name="Scholarships_money[]" type="text" id="Scholarships_money" size="20" /></td>
</tr>
</table>
<p>
<button id="addRow" type="button">+</button>
<button id="removeRow" type="button">-</button>
<button id="submit" type="submit" name="submit"> ตกลง</button>
</p>
</div>
</form>
<br />
</body>
</html>
ไฟล์ที่เอาไว้ แอดค่าลงตาราง test_add.php
Code (PHP)
<?PHP
$Scholarships_year = $_POST['Scholarships_year[$i]'];
$Scholarships_name= $_POST['Scholarships_name[$i]'];
$Scholarships_kind= $_POST['Scholarships_kind[$i]'];
$Scholarships_money= $_POST['Scholarships_money[$i]'];
$num_values = count($_POST['Scholarships_year'])-1;
for($i=0;$i<=$num_values;$i++){
mysql_query("insert into scholarships_history (Scholarships_year ,Scholarships_name ,Scholarships_kind ,Scholarships_money) values ('".$Scholarships_year[$i]."','".$Scholarships_name[$i]."','".$Scholarships_kind[$i]."','".$Scholarships_money[$i]."')") or die (mysql_error());
}
?>
<?php
$num_values = count($_POST['Scholarships_year'])-1;
for($i=0;$i<=$num_values;$i++)
{
echo "INSERT INTO nisit (Scholarships_year ,Scholarships_name ,Scholarships_kind ,Scholarships_money ) values ('$Scholarships_year[$i]','$Scholarships_name[$i]','$Scholarships_kind[$i]','$Scholarships_money[$i])"; } ?>
Date :
2013-09-25 19:46:12
By :
komza
ง่ายๆ นะครับ ถ้าเข้าใจเรื่อง array ลอง print_r($_POST); ออกมาดู ถ้าไม่เข้าใจ array เลย ลองไปอ่านบทเรียนก่อนนะครับ อ่านแล้วยังทำไม่ได้ ลองเขียนแล้วมาถามอีกรอบครับ
Date :
2013-09-25 21:41:51
By :
PlaKriM
Load balance : Server 01