|
|
|
เกี่ยวกับ PHP MySQL - Add/Insert Multiple Record |
|
|
|
|
|
|
|
ช่วยด้วยครับผมต้องทำงาน
แล้ว มันยากมากตัวนี้
เปลี่ยน requirement ไม่ได้ด้วยครับ
เขาสั่งจะเอาแบบนี้
|
|
|
|
|
Date :
2011-05-03 15:07:15 |
By :
akecsubu13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังงงกะคำถามอยู่ อธิบายเพิ่มเติมหน่อย
|
|
|
|
|
Date :
2011-05-03 15:11:10 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ เป็นเว็บ php นะคับ
ผมต้องการจะสร้าง แบบฟอร์มขึ้นมา 1 ตัว
ใส่จำนวนแถวของตาราง a = 3 แถว
ใส่จำนวนแถวของตาราง b = 4 แถว
แล้วผลลัพธ์ที่ได้ ก็จะเป็น
ตาราง a มีจำนวนแถว 3 แถว
ตาราง b มีจำนวนแถว 4 แถว
*ตารางนี้คือ ตาราง html ธรรมดาๆ นะครับ ยังไม่ใช่ตาราง table ในฐานข้อมูลอะไรเลย
*เป็นตารางที่มีช่องไว้กรอกข้อมูลน่ะครับ
คือ ผมอ่านมาจาก https://www.thaicreate.com/php/php-mysql-add-insert-multiple-record.html น่ะครับ แต่จะเอามาประยุกต์ใช้กับงานผม
เข้าใจคำถามผมไหมครับ ถ้าไม่เข้าใจช่วยบอกผมด้วยนะคับ ผมต้องการความช่วยเหลือจริงๆ
|
|
|
|
|
Date :
2011-05-03 15:17:55 |
By :
akecsubu13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำถามก็คือ มัน Error ว่าอย่างไร ขั้นตอนไหนบ้างครับ
ที่คุณให้มานี่เป็นเพียงฟอร์มข้อมูลเท่านั้น แล้ว phpMySQLAddSave.php มันทำงานยังไงครับ
คุณกำลังใช้ฟอร์มเพื่อจะส่งข้อมูลไป Insert ข้อมูลลงฐานข้อมูลนะครับ โดยที่ข้อมูลในฟอร์มจะมีมากน้อยไม่เท่ากัน แล้วก็ไม่ได้มีลักษณะเป็นแถว Record ด้วย ซึ่ง php มันจะหมายถึงข้อมูลชุดเดียวเท่านั้น
เพราะฉะนั้น ข้อมูลที่ถูกส่งไปมันจะเรียงต่อๆกันไป ไม่ใช่เป็น Record เพราะฉะนั้น ตัวไฟล์ phpMySQLAddSave.php ต้องจัดการข้อมูลที่เรียงต่อกันนี้ให้ดีๆ ผมว่าหน้าที่ให้มาไม่มีปัญหาหรอก ต้องขอดู Error ด้วยนะครับ
|
|
|
|
|
Date :
2011-05-03 15:20:56 |
By :
Songkram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
form action = phpMySQLAddSave.php ยังไม่ต้องทำก็ได้ครับ
ตัว error นั้นมัน error ที่ ความคิดของผมมากกว่า
ผมคิดไม่ออกว่าจะประยุกต์โค๊ดยังไง
เดี๋ยวผมจะเอาภาพมาให้ดู
กันครับ
คือปกติที่ webmaster เขาเขียนโค๊ดไว้ ผลลัพธ์จะได้ออกมาลักษณะนี้
แต่ที่ผมจะประยุกต์ คือผมต้องการแบบนี้
*ยังไม่ต้องไปกำหนด form action phpMySQLAddSave.php ยังไม่ต้องเซฟลงฐานข้อมูลครับ
เอาแค่หน้านี้ ยังไม่ต้องลิงค์ไปหน้าไหน
ช่วยแนะนำผมด้วยครับ
|
|
|
|
|
Date :
2011-05-03 15:34:15 |
By :
akecsubu13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ของผมจะต่างแค่ มี select line กับตาราง เพิ่มขึ้นมาอีกอย่างละตัวน่ะครับ
|
|
|
|
|
Date :
2011-05-03 15:35:45 |
By :
akecsubu13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเคเข้าใจล่ะ... เมื่อกี่ผมลองคร่าวๆ โดยการสร้าง select กับ table ขึ้นมาอีกชุดนึงเอาไว้ในฟอร์มเดียวกัน แล้วก็เปลี่ยนชื่อ element ทั้งหมด และตัวแปร เพื่อไม่ให้เหมือนกับชุดแรก ก็คิดว่าน่าจะใช้ได้ครับ แต่ที่ต้องเพิ่มเข้ามาก็คือ ค่าที่ส่งไปแบบ $_GET[line] ต้องเพิ่มเข้ามาอีกค่านึง เพื่อให้ select ตัวที่ 2 รับค่าไปใช้ครับ
|
|
|
|
|
Date :
2011-05-03 16:06:17 |
By :
Songkram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นเอานี่ไปลองไปมั่วๆ มาให้พอเป็นแนว แต่โค้ดผมออกจะมั่วนะ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ){ //v3.0
var line1 = document.getElementById('menu1').value;
var line2 = document.getElementById('menu2').value;
eval(targ+".location='test.php?Line="+line1+"&Lline2="+line2+"'");
}
//-->
</script>
</head>
<body>
<form action="phpMySQLAddSave.php" name="frmAdd" method="post">
Select Line :
<select name="menu1" onChange="MM_jumpMenu('parent')">
<?php
for($i=1;$i<=50;$i++)
{
if($_GET["Line"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?=$i;?>" <?=$sel;?>><?=$i;?></option>
<?php
}
?>
</select>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="160"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="70"> <div align="center">Budget </div></th>
<th width="70"> <div align="center">Used </div></th>
</tr>
<?php
$line = $_GET["Line"];
if($line == 0){$line=1;}
for($i=1;$i<=$line;$i++)
{
?>
<tr>
<td><div align="center"><input type="text" name="txtCustomerID<?=$i;?>" size="5"></div></td>
<td><input type="text" name="txtName<?=$i;?>" size="20"></td>
<td><input type="text" name="txtEmail<?=$i;?>" size="20"></td>
<td><div align="center"><input type="text" name="txtCountryCode<?=$i;?>" size="2"></div></td>
<td align="right"><input type="text" name="txtBudget<?=$i;?>" size="5"></td>
<td align="right"><input type="text" name="txtUsed<?=$i;?>" size="5"></td>
</tr>
<?php
}
?>
</table>
<!------*********************-->
Select Line :
<select name="menu2" onChange="MM_jumpMenu('parent')">
<?php
for($i=1;$i<=50;$i++)
{
if($_GET["Line2"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?=$i;?>" <?=$sel;?>><?=$i;?></option>
<?php
}
?>
</select>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="160"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="70"> <div align="center">Budget </div></th>
<th width="70"> <div align="center">Used </div></th>
</tr>
<?php
$line = $_GET["Line2"];
if($line == 0){$line=1;}
for($i=1;$i<=$line;$i++)
{
?>
<tr>
<td><div align="center"><input type="text" name="txtCustomerID<?=$i;?>" size="5"></div></td>
<td><input type="text" name="txtName<?=$i;?>" size="20"></td>
<td><input type="text" name="txtEmail<?=$i;?>" size="20"></td>
<td><div align="center"><input type="text" name="txtCountryCode<?=$i;?>" size="2"></div></td>
<td align="right"><input type="text" name="txtBudget<?=$i;?>" size="5"></td>
<td align="right"><input type="text" name="txtUsed<?=$i;?>" size="5"></td>
</tr>
<?php
}
?>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?=$i;?>">
</form>
</body>
</html>
|
|
|
|
|
Date :
2011-05-03 16:08:07 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่โค้ดที่ผมโพสไปมันจะมีปัญหาตรงที่เวลาคุณกรอกข้อมูลใน Select Line1 แล้วมาเลือกจำนวนแถวใน Select Line2 มันจะทำให้ข้อมูลที่กรอกไว้หายไปหมดต้องกรอกใหม่ ทางแก้ง่ายๆคือ เลือกจำนวนแถวให้ตรงตามที่ต้องการก่อน ทั้ง Select Line1 และ Select Line2 แล้วจึงทำการกรอกข้อมูล
|
|
|
|
|
Date :
2011-05-03 16:12:55 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณ NOOM และคุณ anu มากๆครับที่ช่วยแนะนำผม
โค๊ดคุณ anu ผมเอามาลองแล้ว select line 2 มันไม่ยอมเลื่อนน่ะครับ แต่เท่านี้ก็เป็นแนวทางให้ผมเขียนต่อได้แล้วครับ
ผมพอจะมีความคิดขึ้นมาแล้ว
ขอให้มีเงินเดือนขึ้นเยอะๆ ขอให้มีความสุขมากๆนะครับ
|
|
|
|
|
Date :
2011-05-03 16:26:16 |
By :
akecsubu13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ โค๊ดคุณ anu ใช้ได้ 100% แล้ว
ผมไปแก้ GET Line2 เป็น Lline2 สองจุด
แวะมาขอบคุณอีกครั้งครับ ^^
|
|
|
|
|
Date :
2011-05-03 16:34:18 |
By :
akecsubu13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|