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,027

HOME > PHP > PHP Forum > [ช่วยด้วยครับ] มีปัญหาการวน loop ของ form ครับ อยากให้ loop วันที่เข้า DB เหมือนกับข้อมูลอื่นๆ



 

[ช่วยด้วยครับ] มีปัญหาการวน loop ของ form ครับ อยากให้ loop วันที่เข้า DB เหมือนกับข้อมูลอื่นๆ

 



Topic : 116701



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



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




form

เนืองจากฟอร์มของผม หน้าตาเป็นแบบนี้ อยากให้ช่องวันที่ บันทึกเข้าฐานข้อมูลตามแถวของข้อมูล

ซึ่งตอนนี้มันเข้าไปแค่แถวเดียว

db


และโค้ด form ของผมเป็นแบบนี้


Code (PHP)
<?
include "connect.php";

$date_on=date("Y-m-d");
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Human Resources System</title>

    <!-- Bootstrap -->
    <link href="bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css">
    <!-- Custom styles for this template -->
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>

<body>
<div class="container">
<br>
<center><h2>ตารางเช็คชื่อช่าง</h2>
<br>
<form method="post" action="post.php" class="table table-hover">
<center><table width="800" border="0" class="table table-hover"></center>
<input type="text" name="date_on[]" value="<? echo $date_on; ?>" class="form-control">
<tr>

<td><center><b>ชื่อช่าง</b></center></td>
<td><center><b>เช็คชื่อ</b></center></td>
<td><center><b>หน่วยงาน</b></center></td>
<td><center><b>Project</b></center></td>
</tr></center>
<tr>

<?


$sql="Select * from tb_technician order by id asc";
$result = mysql_db_query($dbname,$sql);
while($rs=mysql_fetch_array($result)) {
$name_technician=$rs[name_technician];

echo 
"
<center><td><input type='text' name='name_technician[]' value='$name_technician' class='form-control'></td>";
?>
<td><center><select name="chk_tech[]" class="form-control">
<option value="">----------------</option>
<option value="3">มา</option>
<option value="2">สาย</option>
<option value="1">ลา</option>
<option value="0">ขาด</option>
</select></td>
<td><center><select name="on_site[]" class="form-control">
<option value="">----------------</option>
<option value="factory">Factory</option>
<option value="site">Site</option>
</select></td>


<td><center><select name="project[]" class="form-control"> <option value="0">--------------</option>
<?

$sql2="select * from tb_project";
$result2=mysql_db_query($dbname,$sql2);
while($rs2=mysql_fetch_array($result2)){
$id=$rs2[id];
$code_pj=$rs2[code_pj];
echo "<option value='$code_pj'>$code_pj</option>";
}
?>
</select></td>
</tr>



<?
}

?>

</div>


</table>
<input name='submit' type='submit' value='submit' class="btn-danger btn-lg">
<input name='reset' type='reset' value='reset' class="btn-danger btn-lg">
</form>
<?
mysql_close();
?>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="bootstrap/js/bootstrap.js"></script>
    </div>
</body>
</html>


รบกวนผู้รู้ช่วยด้วยครับ



Tag : PHP, MySQL, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-05-23 10:39:52 By : neszadee View : 997 Reply : 7
 

 

No. 1



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



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


ขอดูคำสั่งหน้า INSERT INTO ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-23 17:33:18 By : meannerss
 


 

No. 2



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



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


เอา 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
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : meannerss เมื่อวันที่ 2015-05-23 17:33:18
รายละเอียดของการตอบ ::
คำสั่งหน้า insert ครับCode (PHP)


<?
include "connect.php";
$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];


for($i=0;$i<count($_POST);$i++){
	

if ($chk_tech=="") {
	echo "<script>alert('No');window.location.href='form.php';</script>";
	echo "<script>window.top.window.showResult('1');</script>";
	exit();
}
else if ($chk_tech!=="") {
	echo "<script>alert('Add Data Successfully');window.location.href='form.php';</script>";

}
//echo $id[$i]."<br>";	
//echo $date_on[$i]."<br>";
//echo $name_technician[$i]."<br>";
//echo $chk_tech[$i]."<br>";
//echo $on_site[$i]."<br>";
//echo $project[$i]."<br>";

$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);
//ใส่ code insert

}

mysql_query("SET NAMES UTF-8");
mysql_close();
?>




แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-24 14:10:04 By : neszadee
 


 

No. 4



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



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


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
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : meannerss เมื่อวันที่ 2015-05-24 17:29:03
รายละเอียดของการตอบ ::
ผมทำตามวิธีแล้ว ก็ยังไม่ได้อ่ะครับ คือข้อมูลและจำนวนแถวครบถ้วนนะครับ แต่ filed วันที่ รับค่าได้แค่แถวเดียว

date


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-25 10:03:53 By : neszadee
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2015-05-23 22:36:49
รายละเอียดของการตอบ ::

วิธีของคุณ Chaidhanan ผมยังไม่ค่อยเข้าใจอ่ะครับ ช่วยขยายความอีกหน่อยได้ไม๊ครับ

หรือมีวิธีที่สอดคล้องกับ โค้ดหน้า INSERT กับของผมไหมครับ ?

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-25 10:06:08 By : neszadee
 


 

No. 7



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



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


ตัวอย่างที่ทำ อะทำได้เหมือนกัน แค่ 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
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [ช่วยด้วยครับ] มีปัญหาการวน loop ของ form ครับ อยากให้ loop วันที่เข้า DB เหมือนกับข้อมูลอื่นๆ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่