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 > ต้องการเพิ่มแถวเรื่อย ๆ และเลือกข้อมูลโดยให้รายละเอียดขึ้นโชว์อีกช่องอัตโนมัติครับ



 

ต้องการเพิ่มแถวเรื่อย ๆ และเลือกข้อมูลโดยให้รายละเอียดขึ้นโชว์อีกช่องอัตโนมัติครับ

 



Topic : 125975



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



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




สวัสดีครับ

ผมขอสอบถามดังนี้ครับ

ผมต้องการเพิ่มแถวกรอกข้อมูลอัตโนมัติ โดยแต่ละแถว เมื่อเลือก Product Code แล้ว จะเด้ง Description ขึ้นมาให้เอง โดยมี 2 เสต็ปที่ต้องทำร่วมกันคือ
1. เพิ่มแถวได้เรื่อย ๆ
2. ดึงข้อมูลในแต่ละแถวได้

ซึ่งตอนนี้ ผมสามารถเพิ่มแถวได้เรื่อย ๆ แล้ว และสามารถดึงข้อมูลได้แล้ว แต่พอเอามารวมกัน มันกลายเป็นว่าเพิ่มแถวได้ แต่ถึงข้อมูลไม่ได้ หรือดึงข้อมูลได้เมื่อไม่เพิ่มแถวว ดูโค้ดจนงงแล้วครับ ช่วยดูหน่อยนะครับ ขอบคุณครับ

Code (PHP)
<html>
<?php include 'header.php';?>
<body>
<?php include 'menu.php';?>
<link href="css/addrowitem.css" rel="stylesheet">
<!-- /CONTENT ROW -->
<div id="content">
<div class="container">
<legend>P.O. Preperation</legend>
<form name="addpo" action="addpo.php" method="post" target="_self">
<table style="width: 100%;" border="0">
<tbody>
<tr>
<td>P.O. No.</td><td><input name="pono" id="pono" type="text"></td>
<td>Date</td><td><input name="date" id="datepicker" type="date"></td>
<td>Vendor</td><td>
<?php
    $csql = "select * from company order by compid DESC";
    $query = mysqli_query($conn,$csql);
    echo '<select name="vendor">';
    while ($row = mysqli_fetch_array($query)) {
       echo '<option value="'.$row['compname'].'">'.$row['compname'].'</option>';
    }
    echo '</select>';// Close your drop down box
?>
</td>
</tr>
<tr>
<td>Reference No.</td><td><input name="refno" id="refno" type="text"></td>
<td>Delvery Due Date</td><td><input name="deldd" id="datepicker2" type="date"></td>
<td>Ship Term</td><td><input name="shipterm" id="shipterm" type="text"></td>
</tr>
<tr>
<td>Ship Via</td><td>
<select name="shipvia" id="shipvia" stype:width=10px;>
<option value="Air">Air</option>
<option value="Sea">Sea</option>
</select>
</td>
<td>Payment</td><td><input name="payment" id="payment" type="text"></td>
<td><p align="center"><input type="submit" value="Submit"></p></td>
</tr>
</tbody>
</table>
</form>
<legend></legend>

<?php
include "connect.php";
$sql = 'SELECT * FROM po ORDER BY id DESC LIMIT 1';
if ($result = mysqli_query($conn, $sql)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        $res = ($row["pono"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

?>

<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>
<script language="JavaScript">
	function resutName(CusID)
	{
		switch(CusID)
		{
			<?php
			$strSQL = "SELECT * FROM product ORDER BY procode ASC";
			$objQuery = mysqli_query($conn,$strSQL);
			while($objResult = mysqli_fetch_array($objQuery))
			{
			?>
				case "<?php echo $objResult["procode"];?>":
				additem.prodes.value = "<?php echo $objResult["prodes"];?>";
				break;
			<?php
			}
			?>
			default:
			 additem.prodes.value = "";
		}
	}
</script>
<form action="additem.php" name="additem" method="post">
Select Line : 
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<?php
for($i=1;$i<=50;$i++)
{
	if($_GET["Line"] == $i)
	{
		$sel = "selected";
	}
	else
	{
		$sel = "";
	}
?>
	<option value="<?php echo $_SERVER["PHP_SELF"];?>?Line=<?php echo $i;?>" <?php echo $sel;?>><?php echo $i;?></option>
<?php
}
?>
</select>
<table width="100%" border="0">
  <tr>
    <th> <div align="center">Item </div></th>
    <th> <div align="center">Product Code </div></th>
    <th> <div align="center">Description </div></th>
    <th> <div align="center">QTY </div></th>
    <th> <div align="center">Unit Price </div></th>
    <th> <div align="center">Amount </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="text1" name="item<?php echo $i;?>" size="1"></div></td>
    <td><select name="procode<?php echo $i;?>" id="procode" OnChange="resutName(this.value);">
			<option value=""></option>
			<?php
			$strSQL = "SELECT * FROM product ORDER BY procode ASC";
			$objQuery = mysqli_query($conn,$strSQL);
			while($objResult = mysqli_fetch_array($objQuery))
			{
			?>
			<option value="<?php echo $objResult["procode"];?>"><?php echo $objResult["procode"];?></option>
			<?php
			}
			?>
		  </select></td>
		<td><input name="prodes<?php echo $i;?>" id="prodes" type="text4" value=""></td>
		<td><input name="qty<?php echo $i;?>" id="qty" type="text1" value=""></td>
		<td><input name="uprice<?php echo $i;?>" id="uprice" type="text1" value=""></td>
		<td><input name="amount<?php echo $i;?>" id="qty" type="text2" value=""></td>

	</tr><? } ?>
  </table>
  <input type="submit" name="submit" value="submit">
  <input type="hidden" name="hdnLine" value="<?php echo $i;?>"> 
  </form>
</div>
</div>
</body>
</html>




Tag : PHP, MySQL, Ajax







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-01-09 12:42:44 By : pexmini View : 1256 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

บทความนี้ครับ



[PHP] createElement('select'); สร้าง Element ของ Select Option







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-09 13:47:47 By : mr.win
 


 

No. 2



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



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


คือ .. เพิ่มแถวได้น่ะครับ แต่ไม่ได้เลือก drop down ด้านซ้ายแล้วขึ้น description ด้านขวาครับ คือ เอา 2 อย่างมารวมกันไม่ได้อะครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-09 16:28:10 By : pexmini
 

 

No. 3

Guest


Code (PHP)
additem.prodes.value = "<?php echo $objResult["prodes"];?>";

//prodes ไม่ได้ระบุ index เหมือนข้างล่างครับ ทำให้หาอิลิเมนต์ไม่เจอ

<td><input name="prodes<?php echo $i;?>" id="prodes" type="text4" value=""></td>

//มันควรจะเป็นประมาณ additem.prodes1.value = "<?php echo $objResult["prodes"];?>";



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-09 18:51:59 By : [email protected]
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : [email protected] เมื่อวันที่ 2017-01-09 18:51:59
รายละเอียดของการตอบ ::
ขอบคุณครับ

พอแก้ตามที่ท่านบอก คือ มันออกที่บรรทัดแรกครับ แต่บรรทัดต่อไปไม่ออก

ผมแก้ปัญหาโดยใส่ <?php echo $i;?> แล้ว มันจะขึ้นที่บรรทัดสุดท้ายครับ สมมติว่า 10 บรรทัด ไม่ว่าจะเลือก Drop Down ที่บรรทัดไหน Description ก็จะขึ้นที่บรรทัดสุดท้ายเสมอครับ ไม่ขึ้นที่บรรทัดของตัวเอง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-10 09:14:38 By : pexmini
 


 

No. 5

Guest


ลองแก้ๆดูครับ ลดการคิวรี่ที่ซับซ้อนในฟังก์ชั่น resutName ด้วยการยัดข้อมูลไว้ใน title ตั้งแต่คิวรี่ครั้งแรก

Code (PHP)
//line 131
<td><select name="procode<?= $i;?>" id="procode<?= $i;?>" OnChange="resutName(<?= $i;?>);">
<option value="" title=""></option>
<?php
$strSQL = "SELECT * FROM product ORDER BY procode ASC";
$objQuery = mysqli_query($conn,$strSQL);
while($objResult = mysqli_fetch_array($objQuery))
{
?>
<option value="<?= $objResult["procode"];?>" title="<?= $objResult["prodes"] ?>"><?= $objResult["procode"];?></option>
<?php
}
?>
</select></td>
<td><input name="prodes<?php echo $i;?>" id="prodes<?php echo $i;?>" type="text4" value=""></td>


//ฟังก์ชั่นจาวาสคริปต์
<script language="JavaScript">
function resutName(index){
document.getElementById('prodes'+index).value = document.getElementById('procode'+index).options[document.getElementById('procode'+index).selectedIndex].title;
}
</script>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-10 11:06:44 By : [email protected]
 


 

No. 6



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



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


ได้แล้วครับ ขอบคุณท่าน [email protected] มากครับ

สงสัยผมต้องไปศึกษา JavaScript อย่างจริงจังเสียแล้ว เพราะมองดูโค้ดแล้วไม่เข้าใจ แต่ใช้งานได้จริง คงต้องเรียนรู้อีกเยอะเลย

ขอบคุณนะครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-10 14:19:23 By : pexmini
 

   

ค้นหาข้อมูล


   
 

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