|
|
|
อยากจะทราบเทคนิคการ insert ข้อมูลจากหน้าเวปหลายๆข้อมูลลง database อะครับ |
|
|
|
|
|
|
|
Hibernate ครับ
|
|
|
|
|
Date :
2013-08-22 09:05:52 |
By :
ragman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมใช้วิธี map input key กับ table fields name ครับ
select ฟิวด์ table ที่จะ insert ใส่ array ไว้ก่อน
serialize form แล้ว map key ให้ตรงกับ ฟิวด์ที่จะ insert น่ะครับ
|
|
|
|
|
Date :
2013-08-22 09:06:52 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนขอเป็นตัวอย่างซักนิดนึงนะครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2013-08-22 09:12:38 |
By :
joeyonibaku |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอคำแนะนำเพิ่มเติมด้วยนะครับ
|
|
|
|
|
Date :
2013-08-22 15:44:42 |
By :
joeyonibaku |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
** หลักการทำงานที่ผมพูดถึงก็คือ ใช้ชื่อ input ใน form ให้ตรงกับชื่อ columns ใน table น่ะครับ
ตัวอย่างแบบง่ายๆ น่ะครับ (PHP)
<form id="frm" name="frm" action="" method="post">
A : <input type="text" name="A"><br />
B : <input type="text" name="B"><br />
C : <input type="text" name="C"><br />
D : <input type="text" name="D"><br />
<input type="submit" value="submit">
</form>
<?php
if(!empty($_POST)){
//สมมุติว่า mytable มี column A,B,C,D น่ะครับ
$fields = array();
$result=mysql_query("SHOW COLUMNS FROM mytable"); // select เอาชื่อ fields จาก table ที่ต้องการ insert
while ($x = mysql_fetch_assoc($result)){
$fields[] = $x['Field'];
}
$post = array();
foreach($_POST as $data){ // เตรียมข้อมูลก่อน ** ขั้นตอนนี้เปลี่ยนไปใช้ mysql escap string ก็ได้น่ะครับ
$post[] = "'$data'"; // จะได้ 'value' แบบนี้ครับ
}
$sql=mysql_query("insert into mytable(".implode(',',$fields).")values(".implode(',',$post).")");
/// จะได้ insert into mytable(A,B,C,D)values('value','value','value','value')
}
?>
|
|
|
|
|
Date :
2013-08-22 17:06:42 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไปครับ แต่อันที่จริง ระบุ Column น่าจะปลอดภัยที่สุดครับ เผื่อวันหลังมีการแก้ไขเพิ่มลบฟิวด์ แล้วตามแก้ไม่ครบ นี่จบเลย
|
|
|
|
|
Date :
2013-08-22 17:20:15 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆครับๆ เดียวนำกลับไปลองดูครับ
พอข้อมูลที่จะเอาเข้า database เยอะๆเห็นแล้วขี้เกียจทันที T_T
|
|
|
|
|
Date :
2013-08-23 08:35:41 |
By :
joeyonibaku |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|