|
|
|
ต้องการเพิ่มแถวเรื่อย ๆ และเลือกข้อมูลโดยให้รายละเอียดขึ้นโชว์อีกช่องอัตโนมัติครับ |
|
|
|
|
|
|
|
สวัสดีครับ
ผมขอสอบถามดังนี้ครับ
ผมต้องการเพิ่มแถวกรอกข้อมูลอัตโนมัติ โดยแต่ละแถว เมื่อเลือก 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
|
|
|
|
|
|
Date :
2017-01-09 12:42:44 |
By :
pexmini |
View :
1391 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บทความนี้ครับ
[PHP] createElement('select'); สร้าง Element ของ Select Option
|
|
|
|
|
Date :
2017-01-09 13:47:47 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ .. เพิ่มแถวได้น่ะครับ แต่ไม่ได้เลือก drop down ด้านซ้ายแล้วขึ้น description ด้านขวาครับ คือ เอา 2 อย่างมารวมกันไม่ได้อะครับผม
|
|
|
|
|
Date :
2017-01-09 16:28:10 |
By :
pexmini |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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"];?>";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแก้ๆดูครับ ลดการคิวรี่ที่ซับซ้อนในฟังก์ชั่น 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณท่าน [email protected] มากครับ
สงสัยผมต้องไปศึกษา JavaScript อย่างจริงจังเสียแล้ว เพราะมองดูโค้ดแล้วไม่เข้าใจ แต่ใช้งานได้จริง คงต้องเรียนรู้อีกเยอะเลย
ขอบคุณนะครับผม
|
|
|
|
|
Date :
2017-01-10 14:19:23 |
By :
pexmini |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|