How to get data/value from with dynamic rowspan












0















<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<?php
$prevMonth = $prevPo = $prevDo = $prevKeyResin = "";
$rowspan=$total_kage=0;
$results = $conn->query("SELECT PCAP.id,MP.part_number,MP.part_name,M.name,MR.resin,PCAP.qty,PC.po_number,MP.cavity,MP.weight_product,MP.weight_runner,PC.month
,CONCAT (MR.resin) AS KeyResin
,CONCAT (DATE_FORMAT(PC.month,'%M %Y')) AS KeyMonth
,CONCAT (PC.po_number) AS KeyPo
,CONCAT (MR.resin) AS KeyName
FROM po_customer_add_product PCAP
LEFT JOIN po_customer PC ON PC.id=PCAP.po_customer_id
LEFT JOIN master_product MP ON MP.id=PCAP.product_id
LEFT JOIN master_resin MR ON MR.id=MP.material_name
LEFT JOIN master M ON M.id=PCAP.customer
Where PCAP.active='1' AND PCAP.open_po_resin='0'
Order BY PC.month ASC,MR.resin ASC ");
// fetch pertama, utk cari jumlah rowspan dan Total(Kg)
$rowspan = $rowname = $rowpo = $rowmon = $total_kage = 0;
$prevName = $prevPO = $prevMonth = $prevKeyResin = "";
$arrTotal = $arrRowSpan = array();
while($row = $results->fetch_array()) {
$pcapid = $row['id'];
$KeyName = $row['KeyName'];
if($KeyName!=$prevName) { $prevName=$KeyName; $rowname=1; } else { $rowname++; }
$arrRowSpan[$KeyName] = $rowname;
$KeyMonth = $row['KeyMonth'];
if($KeyMonth!=$prevMonth) { $prevMonth=$KeyMonth; $rowmon=1; } else { $rowmon++; }
$arrRowSpan[$KeyMonth] = $rowmon;

$KeyPo = $row['KeyPo'];
if($KeyPo!=$prevPo) { $prevPo=$KeyPo; $rowpo=1; } else { $rowpo++; }
$arrRowSpan[$KeyPo] = $rowpo;

$KeyResin = $row['KeyResin'];
$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;
if($KeyResin != $prevKeyResin) {
$prevKeyResin = $KeyResin;
$total_kage = $weighttotal;
$rowspan = 1;
} else {
$total_kage += $weighttotal;
$rowspan++;
}
$arrTotal[$KeyResin] = array( 'rowspan' => $rowspan, 'total_kage' => $total_kage );
}

$prevName = $prevPo = $prevMonth = $prevKeyResin = "";
$results->data_seek(0); // balikin lagi ke row[0]
while($row = $results->fetch_array()) {
$Name = $row['resin'];
$PO = $row['po_number'];
$Month = date('F Y',strtotime($row['month']));
$KeyName = $row['KeyName'];
$KeyMonth = $row['KeyMonth'];
$KeyResin = $row['KeyResin'];
$KeyPo = $row['KeyPo'];

$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;


$td_name = $td_month = $td_po = $ttl_kg = $ttl_kg1 = $ttl_kg2 = $ttl_kg3 = "";
if($KeyName!=$prevName) {
$prevName = $KeyName; $rowspan = $arrRowSpan[$KeyName];
$td_name = "<td rowspan='$rowspan' class='td-name'>$Name</td>";
}
if($KeyMonth!=$prevMonth) {
$prevMonth = $KeyMonth; $rowspan = $arrRowSpan[$KeyMonth];
$td_month = "<td rowspan='$rowspan' class='td-month'>$Month</td>";
}

if($KeyPo!=$prevPo) {
$prevPo = $KeyPo; $rowspan = $arrRowSpan[$KeyPo];
$td_po = "<td rowspan='$rowspan'>$PO</td>";
}

if($KeyResin != $prevKeyResin) {
$mulai = new DateTime($row['month']);
$mulai->add(new DateInterval('P1M'));
$sampe = new DateTime('+7 month');
$interval = new DateInterval('P1M');
$rangetgl = new DatePeriod($mulai, $interval ,$sampe);
$option = "";
foreach($rangetgl as $tgl){
$dateid = $tgl->format("Y-m");
$dateoption = $tgl->format("F Y");
$option .= "<option value='$dateid'>$dateoption</option>";
};
$prevKeyResin = $KeyResin;
$rowspan = $arrTotal[$KeyResin]['rowspan'];
$total_kage = $arrTotal[$KeyResin]['total_kage'];
$ttl_kg = "<td rowspan='$rowspan' class='td-weighttotal'>$total_kage</td>";
$ttl_kg1 = "<td rowspan='$rowspan' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
$option
</select>
</td>
";
$ttl_kg2 = "<td rowspan='$rowspan'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>
";
$ttl_kg3 = "<td rowspan='$rowspan'><button class='btnSelect'>Order</button>
";
}
?>
<?php
echo "<tr>
<td class='td-id'>".$row['id']."</td>
<td class='td-customer'>".$row['name']."</td>
$td_month
<td class='td-po'>".$row['po_number']."</td>
<td class='td-partnumber'>".$row['part_number']."</td>
<td class='td-partname'>".$row['part_name']."</td>
<td class='td-qtypcs'>".$row['qty']."</td>
$td_name
$ttl_kg
$ttl_kg1
$ttl_kg2
$ttl_kg3
</tr>";
}
?>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


result browser
only 1 id show and order resin (kg) now show



this code no use connection to db



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<style>
table {width:100%;}
th {background-color: #4CAF50;color: white;}
table, th, td {border: 1px solid black;border-collapse: collapse;}
th, td {padding: 15px;text-align: left;}
table#t01 tr:nth-child(even) {background-color: #eee;}
table#t01 tr:nth-child(odd) {background-color: #fff;}
table#t01 th { background-color: black;color: white;}
.btnSelect {
background-color: #f44336;
border: 2px solid #f44336;
border-radius: 4px;
color: white;
cursor: pointer;
}

.btnSelect:hover{
background-color: #c93326; border: 2px solid #c93326;

}
</style>
<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<tr>
<td class='td-id'>99</td>
<td class='td-customer'>ASMO</td>
<td rowspan='7' class='td-month'>December 2018</td>
<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-4-4</td>
<td class='td-partname'>ASMO4</td>
<td class='td-qtypcs'>1002</td>
<td rowspan='3' class='td-name'>DELRIN 111 PA (NC)</td>
<td rowspan='3' class='td-weighttotal'>74.511</td>
<td rowspan='3' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='3'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='3'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>101</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y1</td>
<td class='td-partname'>YAMAHA1</td>
<td class='td-qtypcs'>2000</td>





</tr><tr>
<td class='td-id'>103</td>
<td class='td-customer'>DENSO</td>

<td class='td-po'>DENSO1</td>
<td class='td-partnumber'>D1</td>
<td class='td-partname'>D1-11</td>
<td class='td-qtypcs'>3000</td>





</tr><tr>
<td class='td-id'>98</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-3-3</td>
<td class='td-partname'>ASMO3</td>
<td class='td-qtypcs'>1001</td>
<td rowspan='2' class='td-name'>DURACON M90-44 (NC)</td>
<td rowspan='2' class='td-weighttotal'>7.25425</td>
<td rowspan='2' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='2'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='2'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>97</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-2-2</td>
<td class='td-partname'>ASMO2</td>
<td class='td-qtypcs'>1000</td>





</tr><tr>
<td class='td-id'>100</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-5-5</td>
<td class='td-partname'>ASMO5</td>
<td class='td-qtypcs'>1003</td>
<td rowspan='1' class='td-name'>IUPILON S 3000 R (BK)</td>
<td rowspan='1' class='td-weighttotal'>28.209375</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>102</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y2</td>
<td class='td-partname'>YAMAHA2</td>
<td class='td-qtypcs'>2000</td>
<td rowspan='1' class='td-name'>LLDPE F-410 (NC)</td>
<td rowspan='1' class='td-weighttotal'>32.5</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


How to get value from "td" with dynamic rowspan ?

already tried but no lucky.
already read on
Jquery - get value of <td> tag that has rowspan more than one
How to get the table row td's value that has a row span column
, but no same case
help me










share|improve this question

























  • The td (obviously) belongs to some row. If you find the td you want isn't in the current row, then it's going to be in some row above the current row. So you need to loop through the previous rows in the table until you find the first row which contains it. That should be the value you need, I think.

    – ADyson
    Nov 22 '18 at 14:36











  • @adyson , already tried , not working

    – andry gusnardry
    Nov 23 '18 at 0:07











  • your current code doesn't show any attempt at all to do that. If you have an attempt to follow that logic, please show us, and explain what debugging you did and where you think it might be failing. "Not working" is not adequate as an explanation of your problem.

    – ADyson
    Nov 23 '18 at 0:09











  • @ADyson , i.stack.imgur.com/BBo6C.png

    – andry gusnardry
    Nov 23 '18 at 0:12











  • That's not code that's a picture

    – ADyson
    Nov 23 '18 at 0:19
















0















<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<?php
$prevMonth = $prevPo = $prevDo = $prevKeyResin = "";
$rowspan=$total_kage=0;
$results = $conn->query("SELECT PCAP.id,MP.part_number,MP.part_name,M.name,MR.resin,PCAP.qty,PC.po_number,MP.cavity,MP.weight_product,MP.weight_runner,PC.month
,CONCAT (MR.resin) AS KeyResin
,CONCAT (DATE_FORMAT(PC.month,'%M %Y')) AS KeyMonth
,CONCAT (PC.po_number) AS KeyPo
,CONCAT (MR.resin) AS KeyName
FROM po_customer_add_product PCAP
LEFT JOIN po_customer PC ON PC.id=PCAP.po_customer_id
LEFT JOIN master_product MP ON MP.id=PCAP.product_id
LEFT JOIN master_resin MR ON MR.id=MP.material_name
LEFT JOIN master M ON M.id=PCAP.customer
Where PCAP.active='1' AND PCAP.open_po_resin='0'
Order BY PC.month ASC,MR.resin ASC ");
// fetch pertama, utk cari jumlah rowspan dan Total(Kg)
$rowspan = $rowname = $rowpo = $rowmon = $total_kage = 0;
$prevName = $prevPO = $prevMonth = $prevKeyResin = "";
$arrTotal = $arrRowSpan = array();
while($row = $results->fetch_array()) {
$pcapid = $row['id'];
$KeyName = $row['KeyName'];
if($KeyName!=$prevName) { $prevName=$KeyName; $rowname=1; } else { $rowname++; }
$arrRowSpan[$KeyName] = $rowname;
$KeyMonth = $row['KeyMonth'];
if($KeyMonth!=$prevMonth) { $prevMonth=$KeyMonth; $rowmon=1; } else { $rowmon++; }
$arrRowSpan[$KeyMonth] = $rowmon;

$KeyPo = $row['KeyPo'];
if($KeyPo!=$prevPo) { $prevPo=$KeyPo; $rowpo=1; } else { $rowpo++; }
$arrRowSpan[$KeyPo] = $rowpo;

$KeyResin = $row['KeyResin'];
$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;
if($KeyResin != $prevKeyResin) {
$prevKeyResin = $KeyResin;
$total_kage = $weighttotal;
$rowspan = 1;
} else {
$total_kage += $weighttotal;
$rowspan++;
}
$arrTotal[$KeyResin] = array( 'rowspan' => $rowspan, 'total_kage' => $total_kage );
}

$prevName = $prevPo = $prevMonth = $prevKeyResin = "";
$results->data_seek(0); // balikin lagi ke row[0]
while($row = $results->fetch_array()) {
$Name = $row['resin'];
$PO = $row['po_number'];
$Month = date('F Y',strtotime($row['month']));
$KeyName = $row['KeyName'];
$KeyMonth = $row['KeyMonth'];
$KeyResin = $row['KeyResin'];
$KeyPo = $row['KeyPo'];

$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;


$td_name = $td_month = $td_po = $ttl_kg = $ttl_kg1 = $ttl_kg2 = $ttl_kg3 = "";
if($KeyName!=$prevName) {
$prevName = $KeyName; $rowspan = $arrRowSpan[$KeyName];
$td_name = "<td rowspan='$rowspan' class='td-name'>$Name</td>";
}
if($KeyMonth!=$prevMonth) {
$prevMonth = $KeyMonth; $rowspan = $arrRowSpan[$KeyMonth];
$td_month = "<td rowspan='$rowspan' class='td-month'>$Month</td>";
}

if($KeyPo!=$prevPo) {
$prevPo = $KeyPo; $rowspan = $arrRowSpan[$KeyPo];
$td_po = "<td rowspan='$rowspan'>$PO</td>";
}

if($KeyResin != $prevKeyResin) {
$mulai = new DateTime($row['month']);
$mulai->add(new DateInterval('P1M'));
$sampe = new DateTime('+7 month');
$interval = new DateInterval('P1M');
$rangetgl = new DatePeriod($mulai, $interval ,$sampe);
$option = "";
foreach($rangetgl as $tgl){
$dateid = $tgl->format("Y-m");
$dateoption = $tgl->format("F Y");
$option .= "<option value='$dateid'>$dateoption</option>";
};
$prevKeyResin = $KeyResin;
$rowspan = $arrTotal[$KeyResin]['rowspan'];
$total_kage = $arrTotal[$KeyResin]['total_kage'];
$ttl_kg = "<td rowspan='$rowspan' class='td-weighttotal'>$total_kage</td>";
$ttl_kg1 = "<td rowspan='$rowspan' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
$option
</select>
</td>
";
$ttl_kg2 = "<td rowspan='$rowspan'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>
";
$ttl_kg3 = "<td rowspan='$rowspan'><button class='btnSelect'>Order</button>
";
}
?>
<?php
echo "<tr>
<td class='td-id'>".$row['id']."</td>
<td class='td-customer'>".$row['name']."</td>
$td_month
<td class='td-po'>".$row['po_number']."</td>
<td class='td-partnumber'>".$row['part_number']."</td>
<td class='td-partname'>".$row['part_name']."</td>
<td class='td-qtypcs'>".$row['qty']."</td>
$td_name
$ttl_kg
$ttl_kg1
$ttl_kg2
$ttl_kg3
</tr>";
}
?>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


result browser
only 1 id show and order resin (kg) now show



this code no use connection to db



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<style>
table {width:100%;}
th {background-color: #4CAF50;color: white;}
table, th, td {border: 1px solid black;border-collapse: collapse;}
th, td {padding: 15px;text-align: left;}
table#t01 tr:nth-child(even) {background-color: #eee;}
table#t01 tr:nth-child(odd) {background-color: #fff;}
table#t01 th { background-color: black;color: white;}
.btnSelect {
background-color: #f44336;
border: 2px solid #f44336;
border-radius: 4px;
color: white;
cursor: pointer;
}

.btnSelect:hover{
background-color: #c93326; border: 2px solid #c93326;

}
</style>
<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<tr>
<td class='td-id'>99</td>
<td class='td-customer'>ASMO</td>
<td rowspan='7' class='td-month'>December 2018</td>
<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-4-4</td>
<td class='td-partname'>ASMO4</td>
<td class='td-qtypcs'>1002</td>
<td rowspan='3' class='td-name'>DELRIN 111 PA (NC)</td>
<td rowspan='3' class='td-weighttotal'>74.511</td>
<td rowspan='3' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='3'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='3'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>101</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y1</td>
<td class='td-partname'>YAMAHA1</td>
<td class='td-qtypcs'>2000</td>





</tr><tr>
<td class='td-id'>103</td>
<td class='td-customer'>DENSO</td>

<td class='td-po'>DENSO1</td>
<td class='td-partnumber'>D1</td>
<td class='td-partname'>D1-11</td>
<td class='td-qtypcs'>3000</td>





</tr><tr>
<td class='td-id'>98</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-3-3</td>
<td class='td-partname'>ASMO3</td>
<td class='td-qtypcs'>1001</td>
<td rowspan='2' class='td-name'>DURACON M90-44 (NC)</td>
<td rowspan='2' class='td-weighttotal'>7.25425</td>
<td rowspan='2' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='2'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='2'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>97</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-2-2</td>
<td class='td-partname'>ASMO2</td>
<td class='td-qtypcs'>1000</td>





</tr><tr>
<td class='td-id'>100</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-5-5</td>
<td class='td-partname'>ASMO5</td>
<td class='td-qtypcs'>1003</td>
<td rowspan='1' class='td-name'>IUPILON S 3000 R (BK)</td>
<td rowspan='1' class='td-weighttotal'>28.209375</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>102</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y2</td>
<td class='td-partname'>YAMAHA2</td>
<td class='td-qtypcs'>2000</td>
<td rowspan='1' class='td-name'>LLDPE F-410 (NC)</td>
<td rowspan='1' class='td-weighttotal'>32.5</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


How to get value from "td" with dynamic rowspan ?

already tried but no lucky.
already read on
Jquery - get value of <td> tag that has rowspan more than one
How to get the table row td's value that has a row span column
, but no same case
help me










share|improve this question

























  • The td (obviously) belongs to some row. If you find the td you want isn't in the current row, then it's going to be in some row above the current row. So you need to loop through the previous rows in the table until you find the first row which contains it. That should be the value you need, I think.

    – ADyson
    Nov 22 '18 at 14:36











  • @adyson , already tried , not working

    – andry gusnardry
    Nov 23 '18 at 0:07











  • your current code doesn't show any attempt at all to do that. If you have an attempt to follow that logic, please show us, and explain what debugging you did and where you think it might be failing. "Not working" is not adequate as an explanation of your problem.

    – ADyson
    Nov 23 '18 at 0:09











  • @ADyson , i.stack.imgur.com/BBo6C.png

    – andry gusnardry
    Nov 23 '18 at 0:12











  • That's not code that's a picture

    – ADyson
    Nov 23 '18 at 0:19














0












0








0








<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<?php
$prevMonth = $prevPo = $prevDo = $prevKeyResin = "";
$rowspan=$total_kage=0;
$results = $conn->query("SELECT PCAP.id,MP.part_number,MP.part_name,M.name,MR.resin,PCAP.qty,PC.po_number,MP.cavity,MP.weight_product,MP.weight_runner,PC.month
,CONCAT (MR.resin) AS KeyResin
,CONCAT (DATE_FORMAT(PC.month,'%M %Y')) AS KeyMonth
,CONCAT (PC.po_number) AS KeyPo
,CONCAT (MR.resin) AS KeyName
FROM po_customer_add_product PCAP
LEFT JOIN po_customer PC ON PC.id=PCAP.po_customer_id
LEFT JOIN master_product MP ON MP.id=PCAP.product_id
LEFT JOIN master_resin MR ON MR.id=MP.material_name
LEFT JOIN master M ON M.id=PCAP.customer
Where PCAP.active='1' AND PCAP.open_po_resin='0'
Order BY PC.month ASC,MR.resin ASC ");
// fetch pertama, utk cari jumlah rowspan dan Total(Kg)
$rowspan = $rowname = $rowpo = $rowmon = $total_kage = 0;
$prevName = $prevPO = $prevMonth = $prevKeyResin = "";
$arrTotal = $arrRowSpan = array();
while($row = $results->fetch_array()) {
$pcapid = $row['id'];
$KeyName = $row['KeyName'];
if($KeyName!=$prevName) { $prevName=$KeyName; $rowname=1; } else { $rowname++; }
$arrRowSpan[$KeyName] = $rowname;
$KeyMonth = $row['KeyMonth'];
if($KeyMonth!=$prevMonth) { $prevMonth=$KeyMonth; $rowmon=1; } else { $rowmon++; }
$arrRowSpan[$KeyMonth] = $rowmon;

$KeyPo = $row['KeyPo'];
if($KeyPo!=$prevPo) { $prevPo=$KeyPo; $rowpo=1; } else { $rowpo++; }
$arrRowSpan[$KeyPo] = $rowpo;

$KeyResin = $row['KeyResin'];
$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;
if($KeyResin != $prevKeyResin) {
$prevKeyResin = $KeyResin;
$total_kage = $weighttotal;
$rowspan = 1;
} else {
$total_kage += $weighttotal;
$rowspan++;
}
$arrTotal[$KeyResin] = array( 'rowspan' => $rowspan, 'total_kage' => $total_kage );
}

$prevName = $prevPo = $prevMonth = $prevKeyResin = "";
$results->data_seek(0); // balikin lagi ke row[0]
while($row = $results->fetch_array()) {
$Name = $row['resin'];
$PO = $row['po_number'];
$Month = date('F Y',strtotime($row['month']));
$KeyName = $row['KeyName'];
$KeyMonth = $row['KeyMonth'];
$KeyResin = $row['KeyResin'];
$KeyPo = $row['KeyPo'];

$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;


$td_name = $td_month = $td_po = $ttl_kg = $ttl_kg1 = $ttl_kg2 = $ttl_kg3 = "";
if($KeyName!=$prevName) {
$prevName = $KeyName; $rowspan = $arrRowSpan[$KeyName];
$td_name = "<td rowspan='$rowspan' class='td-name'>$Name</td>";
}
if($KeyMonth!=$prevMonth) {
$prevMonth = $KeyMonth; $rowspan = $arrRowSpan[$KeyMonth];
$td_month = "<td rowspan='$rowspan' class='td-month'>$Month</td>";
}

if($KeyPo!=$prevPo) {
$prevPo = $KeyPo; $rowspan = $arrRowSpan[$KeyPo];
$td_po = "<td rowspan='$rowspan'>$PO</td>";
}

if($KeyResin != $prevKeyResin) {
$mulai = new DateTime($row['month']);
$mulai->add(new DateInterval('P1M'));
$sampe = new DateTime('+7 month');
$interval = new DateInterval('P1M');
$rangetgl = new DatePeriod($mulai, $interval ,$sampe);
$option = "";
foreach($rangetgl as $tgl){
$dateid = $tgl->format("Y-m");
$dateoption = $tgl->format("F Y");
$option .= "<option value='$dateid'>$dateoption</option>";
};
$prevKeyResin = $KeyResin;
$rowspan = $arrTotal[$KeyResin]['rowspan'];
$total_kage = $arrTotal[$KeyResin]['total_kage'];
$ttl_kg = "<td rowspan='$rowspan' class='td-weighttotal'>$total_kage</td>";
$ttl_kg1 = "<td rowspan='$rowspan' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
$option
</select>
</td>
";
$ttl_kg2 = "<td rowspan='$rowspan'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>
";
$ttl_kg3 = "<td rowspan='$rowspan'><button class='btnSelect'>Order</button>
";
}
?>
<?php
echo "<tr>
<td class='td-id'>".$row['id']."</td>
<td class='td-customer'>".$row['name']."</td>
$td_month
<td class='td-po'>".$row['po_number']."</td>
<td class='td-partnumber'>".$row['part_number']."</td>
<td class='td-partname'>".$row['part_name']."</td>
<td class='td-qtypcs'>".$row['qty']."</td>
$td_name
$ttl_kg
$ttl_kg1
$ttl_kg2
$ttl_kg3
</tr>";
}
?>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


result browser
only 1 id show and order resin (kg) now show



this code no use connection to db



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<style>
table {width:100%;}
th {background-color: #4CAF50;color: white;}
table, th, td {border: 1px solid black;border-collapse: collapse;}
th, td {padding: 15px;text-align: left;}
table#t01 tr:nth-child(even) {background-color: #eee;}
table#t01 tr:nth-child(odd) {background-color: #fff;}
table#t01 th { background-color: black;color: white;}
.btnSelect {
background-color: #f44336;
border: 2px solid #f44336;
border-radius: 4px;
color: white;
cursor: pointer;
}

.btnSelect:hover{
background-color: #c93326; border: 2px solid #c93326;

}
</style>
<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<tr>
<td class='td-id'>99</td>
<td class='td-customer'>ASMO</td>
<td rowspan='7' class='td-month'>December 2018</td>
<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-4-4</td>
<td class='td-partname'>ASMO4</td>
<td class='td-qtypcs'>1002</td>
<td rowspan='3' class='td-name'>DELRIN 111 PA (NC)</td>
<td rowspan='3' class='td-weighttotal'>74.511</td>
<td rowspan='3' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='3'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='3'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>101</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y1</td>
<td class='td-partname'>YAMAHA1</td>
<td class='td-qtypcs'>2000</td>





</tr><tr>
<td class='td-id'>103</td>
<td class='td-customer'>DENSO</td>

<td class='td-po'>DENSO1</td>
<td class='td-partnumber'>D1</td>
<td class='td-partname'>D1-11</td>
<td class='td-qtypcs'>3000</td>





</tr><tr>
<td class='td-id'>98</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-3-3</td>
<td class='td-partname'>ASMO3</td>
<td class='td-qtypcs'>1001</td>
<td rowspan='2' class='td-name'>DURACON M90-44 (NC)</td>
<td rowspan='2' class='td-weighttotal'>7.25425</td>
<td rowspan='2' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='2'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='2'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>97</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-2-2</td>
<td class='td-partname'>ASMO2</td>
<td class='td-qtypcs'>1000</td>





</tr><tr>
<td class='td-id'>100</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-5-5</td>
<td class='td-partname'>ASMO5</td>
<td class='td-qtypcs'>1003</td>
<td rowspan='1' class='td-name'>IUPILON S 3000 R (BK)</td>
<td rowspan='1' class='td-weighttotal'>28.209375</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>102</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y2</td>
<td class='td-partname'>YAMAHA2</td>
<td class='td-qtypcs'>2000</td>
<td rowspan='1' class='td-name'>LLDPE F-410 (NC)</td>
<td rowspan='1' class='td-weighttotal'>32.5</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


How to get value from "td" with dynamic rowspan ?

already tried but no lucky.
already read on
Jquery - get value of <td> tag that has rowspan more than one
How to get the table row td's value that has a row span column
, but no same case
help me










share|improve this question
















<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<?php
$prevMonth = $prevPo = $prevDo = $prevKeyResin = "";
$rowspan=$total_kage=0;
$results = $conn->query("SELECT PCAP.id,MP.part_number,MP.part_name,M.name,MR.resin,PCAP.qty,PC.po_number,MP.cavity,MP.weight_product,MP.weight_runner,PC.month
,CONCAT (MR.resin) AS KeyResin
,CONCAT (DATE_FORMAT(PC.month,'%M %Y')) AS KeyMonth
,CONCAT (PC.po_number) AS KeyPo
,CONCAT (MR.resin) AS KeyName
FROM po_customer_add_product PCAP
LEFT JOIN po_customer PC ON PC.id=PCAP.po_customer_id
LEFT JOIN master_product MP ON MP.id=PCAP.product_id
LEFT JOIN master_resin MR ON MR.id=MP.material_name
LEFT JOIN master M ON M.id=PCAP.customer
Where PCAP.active='1' AND PCAP.open_po_resin='0'
Order BY PC.month ASC,MR.resin ASC ");
// fetch pertama, utk cari jumlah rowspan dan Total(Kg)
$rowspan = $rowname = $rowpo = $rowmon = $total_kage = 0;
$prevName = $prevPO = $prevMonth = $prevKeyResin = "";
$arrTotal = $arrRowSpan = array();
while($row = $results->fetch_array()) {
$pcapid = $row['id'];
$KeyName = $row['KeyName'];
if($KeyName!=$prevName) { $prevName=$KeyName; $rowname=1; } else { $rowname++; }
$arrRowSpan[$KeyName] = $rowname;
$KeyMonth = $row['KeyMonth'];
if($KeyMonth!=$prevMonth) { $prevMonth=$KeyMonth; $rowmon=1; } else { $rowmon++; }
$arrRowSpan[$KeyMonth] = $rowmon;

$KeyPo = $row['KeyPo'];
if($KeyPo!=$prevPo) { $prevPo=$KeyPo; $rowpo=1; } else { $rowpo++; }
$arrRowSpan[$KeyPo] = $rowpo;

$KeyResin = $row['KeyResin'];
$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;
if($KeyResin != $prevKeyResin) {
$prevKeyResin = $KeyResin;
$total_kage = $weighttotal;
$rowspan = 1;
} else {
$total_kage += $weighttotal;
$rowspan++;
}
$arrTotal[$KeyResin] = array( 'rowspan' => $rowspan, 'total_kage' => $total_kage );
}

$prevName = $prevPo = $prevMonth = $prevKeyResin = "";
$results->data_seek(0); // balikin lagi ke row[0]
while($row = $results->fetch_array()) {
$Name = $row['resin'];
$PO = $row['po_number'];
$Month = date('F Y',strtotime($row['month']));
$KeyName = $row['KeyName'];
$KeyMonth = $row['KeyMonth'];
$KeyResin = $row['KeyResin'];
$KeyPo = $row['KeyPo'];

$hasilshot = $row['qty']/$row['cavity'];
$weight1shot = ($row['weight_product']*$row['cavity'])+($row['weight_runner']);
$weighttotal = ($weight1shot*$hasilshot)/1000;


$td_name = $td_month = $td_po = $ttl_kg = $ttl_kg1 = $ttl_kg2 = $ttl_kg3 = "";
if($KeyName!=$prevName) {
$prevName = $KeyName; $rowspan = $arrRowSpan[$KeyName];
$td_name = "<td rowspan='$rowspan' class='td-name'>$Name</td>";
}
if($KeyMonth!=$prevMonth) {
$prevMonth = $KeyMonth; $rowspan = $arrRowSpan[$KeyMonth];
$td_month = "<td rowspan='$rowspan' class='td-month'>$Month</td>";
}

if($KeyPo!=$prevPo) {
$prevPo = $KeyPo; $rowspan = $arrRowSpan[$KeyPo];
$td_po = "<td rowspan='$rowspan'>$PO</td>";
}

if($KeyResin != $prevKeyResin) {
$mulai = new DateTime($row['month']);
$mulai->add(new DateInterval('P1M'));
$sampe = new DateTime('+7 month');
$interval = new DateInterval('P1M');
$rangetgl = new DatePeriod($mulai, $interval ,$sampe);
$option = "";
foreach($rangetgl as $tgl){
$dateid = $tgl->format("Y-m");
$dateoption = $tgl->format("F Y");
$option .= "<option value='$dateid'>$dateoption</option>";
};
$prevKeyResin = $KeyResin;
$rowspan = $arrTotal[$KeyResin]['rowspan'];
$total_kage = $arrTotal[$KeyResin]['total_kage'];
$ttl_kg = "<td rowspan='$rowspan' class='td-weighttotal'>$total_kage</td>";
$ttl_kg1 = "<td rowspan='$rowspan' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
$option
</select>
</td>
";
$ttl_kg2 = "<td rowspan='$rowspan'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>
";
$ttl_kg3 = "<td rowspan='$rowspan'><button class='btnSelect'>Order</button>
";
}
?>
<?php
echo "<tr>
<td class='td-id'>".$row['id']."</td>
<td class='td-customer'>".$row['name']."</td>
$td_month
<td class='td-po'>".$row['po_number']."</td>
<td class='td-partnumber'>".$row['part_number']."</td>
<td class='td-partname'>".$row['part_name']."</td>
<td class='td-qtypcs'>".$row['qty']."</td>
$td_name
$ttl_kg
$ttl_kg1
$ttl_kg2
$ttl_kg3
</tr>";
}
?>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


result browser
only 1 id show and order resin (kg) now show



this code no use connection to db



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<style>
table {width:100%;}
th {background-color: #4CAF50;color: white;}
table, th, td {border: 1px solid black;border-collapse: collapse;}
th, td {padding: 15px;text-align: left;}
table#t01 tr:nth-child(even) {background-color: #eee;}
table#t01 tr:nth-child(odd) {background-color: #fff;}
table#t01 th { background-color: black;color: white;}
.btnSelect {
background-color: #f44336;
border: 2px solid #f44336;
border-radius: 4px;
color: white;
cursor: pointer;
}

.btnSelect:hover{
background-color: #c93326; border: 2px solid #c93326;

}
</style>
<div class="container">
<form action="" method="post">
<h4 class="title">REQUEST RESIN BASED ON PO CUSTOMER</h4>
<table>
<tr>
<th>Id</th>
<th>Customer</th>
<th>Month</th>
<th>PO Number</th>
<th>Part Number</th>
<th>Part Name</th>
<th>Qty Pcs</th>
<th>Material Name</th>
<th>weight Product (Kg)</th>
<th>Order Month</th>
<th>Order Resin (Kg)</th>
<th>Save Order</th>
</tr>
<tr>
<td class='td-id'>99</td>
<td class='td-customer'>ASMO</td>
<td rowspan='7' class='td-month'>December 2018</td>
<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-4-4</td>
<td class='td-partname'>ASMO4</td>
<td class='td-qtypcs'>1002</td>
<td rowspan='3' class='td-name'>DELRIN 111 PA (NC)</td>
<td rowspan='3' class='td-weighttotal'>74.511</td>
<td rowspan='3' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='3'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='3'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>101</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y1</td>
<td class='td-partname'>YAMAHA1</td>
<td class='td-qtypcs'>2000</td>





</tr><tr>
<td class='td-id'>103</td>
<td class='td-customer'>DENSO</td>

<td class='td-po'>DENSO1</td>
<td class='td-partnumber'>D1</td>
<td class='td-partname'>D1-11</td>
<td class='td-qtypcs'>3000</td>





</tr><tr>
<td class='td-id'>98</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-3-3</td>
<td class='td-partname'>ASMO3</td>
<td class='td-qtypcs'>1001</td>
<td rowspan='2' class='td-name'>DURACON M90-44 (NC)</td>
<td rowspan='2' class='td-weighttotal'>7.25425</td>
<td rowspan='2' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='2'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='2'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>97</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-2-2</td>
<td class='td-partname'>ASMO2</td>
<td class='td-qtypcs'>1000</td>





</tr><tr>
<td class='td-id'>100</td>
<td class='td-customer'>ASMO</td>

<td class='td-po'>ASMO1</td>
<td class='td-partnumber'>ASMO-5-5</td>
<td class='td-partname'>ASMO5</td>
<td class='td-qtypcs'>1003</td>
<td rowspan='1' class='td-name'>IUPILON S 3000 R (BK)</td>
<td rowspan='1' class='td-weighttotal'>28.209375</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr><tr>
<td class='td-id'>102</td>
<td class='td-customer'>YAMAHA</td>

<td class='td-po'>YAMAHA1</td>
<td class='td-partnumber'>Y2</td>
<td class='td-partname'>YAMAHA2</td>
<td class='td-qtypcs'>2000</td>
<td rowspan='1' class='td-name'>LLDPE F-410 (NC)</td>
<td rowspan='1' class='td-weighttotal'>32.5</td>
<td rowspan='1' class='td-poorderresin'>
<select name='pomonth' class='select-field9' required>
<option value='0'>Choose Month</option>
<option value='2019-01'>January 2019</option><option value='2019-02'>February 2019</option><option value='2019-03'>March 2019</option><option value='2019-04'>April 2019</option><option value='2019-05'>May 2019</option><option value='2019-06'>June 2019</option>
</select>
</td>

<td rowspan='1'>
<input type='text' required class='input-field9' autocomplete='off' name='qtyorder' onkeypress='return onlyNumbers(event);' maxlength='6' onkeyup='oneDot(this)'/>
<input type='hidden' name='unique' value='mrp_order_resin' readonly='readonly' required />
</td>

<td rowspan='1'><button class='btnSelect'>Order</button>

</tr>
</table>
<div class="clearfix">
</div>
<div class="mid-popular">
</div>
</form>
</div>
<script>
//*
$(document).ready(function(){

$(".btnSelect").on('click',function(){
// get the current row
var currentRow = $(this).closest("tr");

var col1 = currentRow.find(".td-id").html();
var col2 = currentRow.find(".td-customer").html();
var col3 = currentRow.find(".td-month").html();
var col4 = currentRow.find(".td-po").html();
var col5 = currentRow.find(".td-partnumber").html();
var col6 = currentRow.find(".td-partname").html();
var col7 = currentRow.find(".td-qtypcs").html();
var col8 = currentRow.find(".td-name").html();
var col9 = currentRow.find(".td-weighttotal").html();
var col10 = currentRow.find(":selected").html();
var col11 = currentRow.find("input[name='qtyorder']").html();

var data = col1 + "n" + col2 + "n" + col3 + "n" + col4 + "n" + col5 + "n" + col6 + "n" + col7 + "n" + col8 + "n" + col9 + "n" + col10 + "n" + col11;

alert(data);
});
});
//*
</script>


How to get value from "td" with dynamic rowspan ?

already tried but no lucky.
already read on
Jquery - get value of <td> tag that has rowspan more than one
How to get the table row td's value that has a row span column
, but no same case
help me







javascript php jquery mysql ajax






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 23 '18 at 5:48







andry gusnardry

















asked Nov 22 '18 at 13:59









andry gusnardryandry gusnardry

34




34













  • The td (obviously) belongs to some row. If you find the td you want isn't in the current row, then it's going to be in some row above the current row. So you need to loop through the previous rows in the table until you find the first row which contains it. That should be the value you need, I think.

    – ADyson
    Nov 22 '18 at 14:36











  • @adyson , already tried , not working

    – andry gusnardry
    Nov 23 '18 at 0:07











  • your current code doesn't show any attempt at all to do that. If you have an attempt to follow that logic, please show us, and explain what debugging you did and where you think it might be failing. "Not working" is not adequate as an explanation of your problem.

    – ADyson
    Nov 23 '18 at 0:09











  • @ADyson , i.stack.imgur.com/BBo6C.png

    – andry gusnardry
    Nov 23 '18 at 0:12











  • That's not code that's a picture

    – ADyson
    Nov 23 '18 at 0:19



















  • The td (obviously) belongs to some row. If you find the td you want isn't in the current row, then it's going to be in some row above the current row. So you need to loop through the previous rows in the table until you find the first row which contains it. That should be the value you need, I think.

    – ADyson
    Nov 22 '18 at 14:36











  • @adyson , already tried , not working

    – andry gusnardry
    Nov 23 '18 at 0:07











  • your current code doesn't show any attempt at all to do that. If you have an attempt to follow that logic, please show us, and explain what debugging you did and where you think it might be failing. "Not working" is not adequate as an explanation of your problem.

    – ADyson
    Nov 23 '18 at 0:09











  • @ADyson , i.stack.imgur.com/BBo6C.png

    – andry gusnardry
    Nov 23 '18 at 0:12











  • That's not code that's a picture

    – ADyson
    Nov 23 '18 at 0:19

















The td (obviously) belongs to some row. If you find the td you want isn't in the current row, then it's going to be in some row above the current row. So you need to loop through the previous rows in the table until you find the first row which contains it. That should be the value you need, I think.

– ADyson
Nov 22 '18 at 14:36





The td (obviously) belongs to some row. If you find the td you want isn't in the current row, then it's going to be in some row above the current row. So you need to loop through the previous rows in the table until you find the first row which contains it. That should be the value you need, I think.

– ADyson
Nov 22 '18 at 14:36













@adyson , already tried , not working

– andry gusnardry
Nov 23 '18 at 0:07





@adyson , already tried , not working

– andry gusnardry
Nov 23 '18 at 0:07













your current code doesn't show any attempt at all to do that. If you have an attempt to follow that logic, please show us, and explain what debugging you did and where you think it might be failing. "Not working" is not adequate as an explanation of your problem.

– ADyson
Nov 23 '18 at 0:09





your current code doesn't show any attempt at all to do that. If you have an attempt to follow that logic, please show us, and explain what debugging you did and where you think it might be failing. "Not working" is not adequate as an explanation of your problem.

– ADyson
Nov 23 '18 at 0:09













@ADyson , i.stack.imgur.com/BBo6C.png

– andry gusnardry
Nov 23 '18 at 0:12





@ADyson , i.stack.imgur.com/BBo6C.png

– andry gusnardry
Nov 23 '18 at 0:12













That's not code that's a picture

– ADyson
Nov 23 '18 at 0:19





That's not code that's a picture

– ADyson
Nov 23 '18 at 0:19












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432612%2fhow-to-get-data-value-from-td-with-dynamic-rowspan%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432612%2fhow-to-get-data-value-from-td-with-dynamic-rowspan%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

404 Error Contact Form 7 ajax form submitting

How to know if a Active Directory user can login interactively

Refactoring coordinates for Minecraft Pi buildings written in Python