|
|
|
[ช่วยด้วยครับ] มีปัญหาการวน loop ของ form ครับ อยากให้ loop วันที่เข้า DB เหมือนกับข้อมูลอื่นๆ |
|
|
|
|
|
|
|
ขอดูคำสั่งหน้า INSERT INTO ครับ
|
|
|
|
|
Date :
2015-05-23 17:33:18 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา id ของตารางช่าง มาเป็น ยาดำ ในชื่อ name="fieldname[$id]"
และสร้าง input type=hidden name="field_index[]" value="$id" > เพื่อใช้ในการอ้างอิง id
Code (PHP)
foreach( $_POST['field_index'] as $key){
$sql = 'update table set chk_tech = '.$_POST['chk_tech'][$key] .
', on_site = '. $_POST['on_site'][$key] .
.....
.....
' where id = ' . $key;
mysql_query( $sql);
}
ตัวอย่างเป็นแค่หลักการ วิธีการนะครับ ไวยกรณ์ดูแลเอาเองนะครับ
|
|
|
|
|
Date :
2015-05-23 22:36:49 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.ไปที่ไฟล์INPUT
บรรทัด 75 เพิ่ม numrows เพื่อเก็บจำนวนรอบ
$result2=mysql_db_query($dbname,$sql2); $rows2=mysql_num_rows($result2);
บรรทัด 95 เพิ่ม text filed hidden เก็บจำนวนรวบ
</table> <input type="hidden" name="numrows" id="numrows" value="<?=$rows2?>" />
2. ไปที่ไฟล์ประมวลผล
ปล.ผมขอย่อเหลือแค่ส่วนลง INSERT ลงDB นะครับ เงื่อนใข if อื่นๆ ไม่ขอเข้าใจ
code ไม่ได้เทสนะครับ
$i=0;
$id=$_POST[id];
$date_on=$_POST[date_on];
$name_technician=$_POST[name_technician];
$chk_tech=$_POST[chk_tech];
$on_site=$_POST[on_site];
$project=$_POST[project];
while ($i<$_POST['numrows']) {
$sql="INSERT INTO tb_sum VALUES('$id[$i]','$date_on[$i]','$name_technician[$i]','$chk_tech[$i]','$on_site[$i]','$project[$i]')";
$result=mysql_db_query($dbname,$sql);
$i++; }
ปล. การเขียน INSERT INTOแบบนี้เป็นวิธีการที่ไม่ดี แต่ก็ไช่ว่าจะไม่ถูกต้อง คือ หากอนาคตมีการพัฒนาต่อยอดเพิ่มฟิลด์ต่างๆเข้าไป โปรแกรมจะ error ครับ ควรเขียนแบบจับคู่กันจะดีกว่าครับ
Code
INSERT INTO table (filedname,filedname,filedname) VALUE ('$var','$var','$var')
|
ประวัติการแก้ไข 2015-05-24 17:29:46 2015-05-24 17:30:21
|
|
|
|
Date :
2015-05-24 17:29:03 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่างที่ทำ อะทำได้เหมือนกัน แค่ date_on[] แก้เป็น date_on ไม่ต้องทำเป็น array เพราะมีแค่อันเดียว
หรือ ถ้าอยากจะให้เป็น array ก็ใช้ element 0 $date_on[0] กำหนดไปตรงๆ เพราะมีอันเดียว
ไปใช้ตัวแปร มันก็กลายเป็น $date_on[1] [2] [3] ซึ่งมันไม่มี
ปล. ศึกษาเรื่อง tag เพิ่มเติมด้วย <table><center> แบบนี้มันผิดรูปแบบการใช้ tag
หรือเมื่อเปิด <center> แล้ว ก็ต้องปิด </center> ด้วย ไม่ใช่เปิดไว้ไม่ปิด
|
ประวัติการแก้ไข 2015-05-25 11:25:57
|
|
|
|
Date :
2015-05-25 11:23:05 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|