我有一个表,用户在其中输入数据。行是动态创建的。用户给出的值被发送到数据库(Oracle 11g),并在此基础上提取其他值并将其插入表中。代码是这样的:
<!DOCTYPE HTML>
<html>
<body>
<?php
$code = $_POST['code'];
$qty = $_POST['qty'];
foreach ($_POST['code'] as $code => $c) {
//print $c . " " . $qty[$code] . "<br>";
}
$link = oci_connect('hd','hd', 'localhost/mydb');
if(!$link) {
$e = oci_error();
exit('Connection error ' . $e['message']);
}
foreach ($_POST['code'] as $code => $c)
{
$q1 = "select PROD_NAME, PROD_COST from PRODUCT where PROD_ALIAS = :bv_code";
$q1parse = oci_parse($link, $q1);
oci_bind_by_name($q1parse, ':bv_code', $c);
oci_execute($q1parse);
while($row = oci_fetch_array($q1parse))
PRINT $row['PROD_NAME'] . " " . $row['PROD_COST'] .
" " . $qty[$code] . " " .
($row['PROD_COST']*$qty[$code]) . "<br>";
}
?>
<script type = "text/javascript" >
function addRow()
{
var table = document.getElementById('order');
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
cell1.innerHTML = "<input type = 'text' name = 'code[]' /> ";
cell2.innerHTML = "";
cell3.innerHTML = "";
cell4.innerHTML = "<input type = 'text' name = 'qty[]' />";
cell5.innerHTML = "";
}
function delRow(r)
{
document.getElementById('order').deleteRow(-1);
}
</script>
<p><strong> Order Details </strong></p>
<form action = 'm3.php' method = 'POST' >
<table id = "order" border = 1 border_collapse = "collapse" >
<tr>
<th> Item Code </th>
<th> Name </th>
<th> Price </th>
<th> Quantity </th>
<th> Total </th>
</tr>
</table>
<input type = 'submit' name = 'submit' value = 'Submit' />
<input colspan = '2' type = "button" value = "Add Row" onclick = "addRow('order')" />
<input colspan = '2' type = "button" value = "Delete Row" onclick = "delRow('order')" />
</form>
</body>
</html>
用户提供“代码”和“数量”的值。 “代码”被发送到数据库并获取产品的其他值。问题是我想在同一个表中显示获取的值。现在我把它展示在 table 外面。另外,我想要最后有一列显示总账单。如,(价格*数量)的总计。我怎样才能做到这一点?
最佳答案
而不是放置整个 foreach
在页面中循环,您应该将其放在 <table> ... </table>
内像这样:
// your code
<table id = "order" border = 1 border_collapse = "collapse" >
<tr>
<th> Item Code </th>
<th> Name </th>
<th> Price </th>
<th> Quantity </th>
<th> Total </th>
</tr>
<?php
$sumTotal = 0;
foreach ($_POST['code'] as $code => $c){
$q1 = "select PROD_NAME, PROD_COST from PRODUCT where PROD_ALIAS = :bv_code";
$q1parse = oci_parse($link, $q1);
oci_bind_by_name($q1parse, ':bv_code', $c);
oci_execute($q1parse);
while($row = oci_fetch_array($q1parse)){
?>
<tr>
<td><?php echo $c; ?></td>
<td><?php echo $row['PROD_NAME']; ?></td>
<td><?php echo $row['PROD_COST']; ?></td>
<td><?php echo $qty[$code]; ?></td>
<td><?php echo $row['PROD_COST']*$qty[$code]; ?></td>
</tr>
<?php
$sumTotal += $row['PROD_COST']*$qty[$code];
}
}
?>
<tr>
<td>Sum Total</td>
<td colspan="4"><?php echo $sumTotal; ?></td>
</tr>
</table>
// your code
关于javascript - 从数据库获取值并显示在 html 表中(包括 PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44868668/