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 > ช่วยด้วยครับ ติดนิดเดียว เรื่อง การ insert หลาย ๆ records



 

ช่วยด้วยครับ ติดนิดเดียว เรื่อง การ insert หลาย ๆ records

 



Topic : 082107

Guest




คือผมเอา ตัวอย่าง การ insert multiple record มาจากที่แล้วดัดแปลงดูน่ะครับ
ที่ผมทำคือ เปลี่ยนจากการใส่ค่า เป็นดึงค่ามาจาก database แทนครับ
ปัญหาคือ เมื่อจะทำการ insert มัน insert ให้แค่แถวเดียวเองครับ
เป็นแถวสุดท้าย
ช่วยดู code แล้วช่วยผมแก้ไขหน่อยนะครับ
ขอบคุณมากครับ

code:
phpMySQLAddForm.php
Code (PHP)
<html>
<head>
<title>add form</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body>
<?php   
$con =mysql_connect ("localhost","root","1234");
mysql_select_db("dbstationery",$con);
mysql_query("SET NAMES tis620");
	$sql = "select jos_vm_order_item.order_id,jos_vm_order_item.order_item_name,jos_vm_order_item.product_quantity,jos_vm_order_item.product_final_price,jos_vm_user_info.vm_departmentid from jos_vm_order_item,jos_vm_user_info where jos_vm_order_item.user_info_id=jos_vm_user_info.user_info_id";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
?>
<form action="phpMySQLAddSave.php" name="frmAdd" method="post">
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">Order ID </div></th>
    <th width="160"> <div align="center">Product Name </div></th>
    <th width="198"> <div align="center">Quantity </div></th>
    <th width="97"> <div align="center">Price </div></th>
    <th width="70"> <div align="center">Departmrnt ID </div></th>
  </tr>
  <?
  $line = $num;
  if($line == 0){$line=1;}
  for($i=1;$i<=$line;$i++)
  {
  while ($data = mysql_fetch_array($result) ) {	  
  ?>  
 <tr>    
    <td><input type="text" name="order_id<?=$i;?>" size="5" value="<?php echo $data[order_id]; ?>" readonly="readonly"></td>
    <td><input type="text" name="item_name<?=$i;?>" size="30" value="<?php echo $data[order_item_name]; ?>" readonly="readonly"></td>
    <td><input type="text" name="quantity<?=$i;?>" size="5" value="<?php echo $data[product_quantity]; ?>" readonly="readonly"></td>
    <td><input type="text" name="price<?=$i;?>" size="10" value="<?php echo $data[product_final_price]; ?>" readonly="readonly"></td>
    <td><input type="text" name="dep_id<?=$i;?>" size="10" value="<?php echo $data[vm_departmentid]; ?>" readonly="readonly"></td>
 </tr>
 <?
  }//while 
  }
  ?>
  </table>
  <input type="submit" name="submit" value="submit">
  <input type="hidden" name="hdnLine" value="<?=$i;?>">
  </form>
</body>
</html>


phpMySQLAddSave.php
Code (PHP)
<html>
<head>
<title>Add Save</title>
</head>
<body>
<?
	$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
	$objDB = mysql_select_db("dbstationery");
	mysql_query("SET NAMES tis620");
	
	for($i=1;$i<=$_POST["hdnLine"];$i++)
	{
		if($_POST["order_id$i"] != "")
		{
			$strSQL = "INSERT INTO jos_approve_list ";
		      	$strSQL .="(order_id,item_name,product_quantity,product_final_price,vm_departmentid) ";
			$strSQL .="VALUES ";
			$strSQL .="('".$_POST["order_id$i"]."','".$_POST["item_name$i"]."', ";
			$strSQL .="'".$_POST["quantity$i"]."' ";
			$strSQL .=",'".$_POST["price$i"]."', ";
			$strSQL .="'".$_POST["dep_id$i"]."') ";
			$objQuery = mysql_query($strSQL);
		}
	}

	echo "Save Done.";

mysql_close($objConnect);
?>
</body>
</html>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-08-09 10:56:49 By : error 404 View : 1296 Reply : 5
 

 

No. 1

Guest


รอคำแนะนำอยู่นะครับ
ช่วยทีนะ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-09 11:34:08 By : error 404
 


 

No. 2



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


1. ผมกลัวว่าค่าตัวแปร $i มันไม่วนชื่อ input name มันเลยซ้ำ ลอง echo ค่า $i ใน code phpMySQLAddForm.php ตรงบรรทัดที่ 36 - 43 ออกมาดูครับ ว่าชื่อมันเป็นเปลียนตามตัวแปรหรือเปล่า
2. ลองดูค่า $i สุดท้ายที่ code phpMySQLAddForm.php ตรงบรรทัดที่ 51 ว่ามีจริงหรือเปล่าด้วยครับ
3. โค้ดก็ใกล้เคียงกับ ตย. https://www.thaicreate.com/php/php-mysql-add-insert-multiple-record.html แตกต่างตรงที่มี while เข้ามาเพิ่ม ไม่แน่ใจว่าเกี่ยวหรือเปล่า

ลองเช็คตามที่บอกหน่อยครับ ถ้าไม่ได้จะได้เอา Code ไปลองทดสอบตาม

ผมลองเช็คมาให้แล้ว ค่า $i ของคุณออกเป็น 1 อย่างเดียวเลย ทำให้ชื่อของ input name มันซ้ำกันหมด....
ลองดู loop for กับ while ว่าควรใช้แบบไหนดี

แนะนำว่าให้เอา for ออกครับแล้วกำหนด $i=1 เท่านั้น
แล้วเพิ่ม $i++; ก่อนออกจาก while ค่า $i จะเพิ่มให้เอง ชื่อก็จะไม่ซ้ำแล้วครับ


ประวัติการแก้ไข
2012-08-09 12:24:04
2012-08-09 12:26:39
2012-08-09 12:29:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-09 12:10:10 By : apisitp
 

 

No. 3

Guest


ขอบคุณ คุณ apisitp มาก ๆ นะครับ
ช่วยแนะนำผมตั้งแต่กระทู้ก่อน

ตามที่คุณแนะนำมา ผมก็คิดว่าค่า $i มันแปลก ๆ อยู่เหมือนกัน
ตามตัวอย่างเค้ามีการกำหนด row ก่อนจาก select แต่ผมกำหนด row จาก $num ที่ดึงมา
ปัญหาน่าจะอยู่ตรงนี้มั้งครับ ผมยังมีความรู้เรื่อง code น้อยจึงดูไม่ออก

แต่ถ้าเกิด ว่าตอนดึงค่ามาแล้วให้ insert เลยจะทำได้ไหมครับโดยไม่ต้องผ่้านการ submit น่ะครับ
ผมคิดว่ามัน เวิร์คกว่า แต่จะ เพิ่ม script เข้าไปยังไงอ่ะครับ

ช่วยผมหน่อยนะครับ อีกนิดเดียวเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-09 12:20:17 By : error 404
 


 

No. 4



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


Edit อธิบายเพิ่มในกระทู้เดิมไปแล้ว ลองดูก่อนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-09 12:34:29 By : apisitp
 


 

No. 5

Guest


ขอบคุณ คุณ apisitp มาก ๆ นะครับ
ลองทำตามคำแนะนำแล้ว สำเร็จแล้วครับ
ขอบคุณจริง ๆ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-09 13:50:23 By : error 404
 

   

ค้นหาข้อมูล


   
 

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